MooseX::NonMoose::Meta::Role::Class - metaclass trait for MooseX::NonMoose
package Foo;
use Moose -traits => 'MooseX::NonMoose::Meta::Role::Class';
# or
package My::Moose;
use Moose ();
use Moose::Exporter;
Moose::Exporter->setup_import_methods;
sub init_meta {
shift;
my %options = @_;
Moose->init_meta(%options);
Moose::Util::MetaRole::apply_metaclass_roles(
for_class => $options{for_class},
metaclass_roles => ['MooseX::NonMoose::Meta::Role::Class'],
);
return Moose::Util::find_meta($options{for_class});
}
This trait implements everything involved with extending non-Moose classes,
other than doing the actual inlining at
"make_immutable" time. See MooseX::NonMoose
for more details.
Jesse Luehrs <doy@tozt.net>
This software is copyright (c) 2014 by Jesse Luehrs.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.