metaclass - a pragma for installing and using Class::MOP metaclasses
package MyClass; # use Class::MOP::Class use metaclass; # ... or use a custom metaclass use metaclass 'MyMetaClass'; # ... or use a custom metaclass # and custom attribute and method # metaclasses use metaclass 'MyMetaClass' => ( 'attribute_metaclass' => 'MyAttributeMetaClass', 'method_metaclass' => 'MyMethodMetaClass', ); # ... or just specify custom attribute # and method classes, and Class::MOP::Class # is the assumed metaclass use metaclass ( 'attribute_metaclass' => 'MyAttributeMetaClass', 'method_metaclass' => 'MyMethodMetaClass', ); # if we'd rather not install a 'meta' method, we can do this use metaclass meta_name => undef; # or if we'd like it to have a different name, use metaclass meta_name => 'my_meta';
This is a pragma to make it easier to use a specific metaclass and a set of custom attribute and method metaclasses. It also installs a
meta method to your class as well, unless
undef is passed to the
Note that if you are using Moose, you most likely do not want to be using this - look into Moose::Util::MetaRole instead.
This software is copyright (c) 2012 by Infinity Interactive, Inc..
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.