NAME

metaclass - a pragma for installing and using Class::MOP metaclasses

VERSION

version 2.0301

SYNOPSIS

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';

DESCRIPTION

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 meta_name option.

Note that if you are using Moose, you most likely do not want to be using this - look into Moose::Util::MetaRole instead.

AUTHOR

Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details.

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 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.