From c93417796759aaeaaa362eadf7bea68b6dfdd4db Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 27 Sep 2009 12:28:20 -0500 Subject: use new moose-exporter init_meta stuff --- lib/MooseX/NonMoose.pm | 17 +++++++---------- lib/MooseX/NonMoose/InsideOut.pm | 23 ++++++++++------------- 2 files changed, 17 insertions(+), 23 deletions(-) (limited to 'lib') diff --git a/lib/MooseX/NonMoose.pm b/lib/MooseX/NonMoose.pm index c979bd3..a05ca30 100644 --- a/lib/MooseX/NonMoose.pm +++ b/lib/MooseX/NonMoose.pm @@ -1,5 +1,4 @@ package MooseX::NonMoose; -use Moose (); use Moose::Exporter; =head1 NAME @@ -68,20 +67,18 @@ confused by the extra arguments that Moose requires (for attributes, etc.) =cut -Moose::Exporter->setup_import_methods; +my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods( + metaclass_roles => ['MooseX::NonMoose::Meta::Role::Class'], + constructor_class_roles => ['MooseX::NonMoose::Meta::Role::Constructor'], + install => [qw(import unimport)], +); sub init_meta { - shift; + my $package = shift; my %options = @_; Carp::cluck('Roles have no use for MooseX::NonMoose') if Class::MOP::class_of($options{for_class})->isa('Moose::Meta::Role'); - Moose::Util::MetaRole::apply_metaclass_roles( - for_class => $options{for_class}, - metaclass_roles => ['MooseX::NonMoose::Meta::Role::Class'], - constructor_class_roles => - ['MooseX::NonMoose::Meta::Role::Constructor'], - ); - return Class::MOP::class_of($options{for_class}); + $package->$init_meta(@_); } =head1 TODO diff --git a/lib/MooseX/NonMoose/InsideOut.pm b/lib/MooseX/NonMoose/InsideOut.pm index 4e226e0..58bdcbd 100644 --- a/lib/MooseX/NonMoose/InsideOut.pm +++ b/lib/MooseX/NonMoose/InsideOut.pm @@ -1,5 +1,4 @@ package MooseX::NonMoose::InsideOut; -use Moose (); use Moose::Exporter; =head1 NAME @@ -37,21 +36,19 @@ MooseX::NonMoose::InsideOut - easy subclassing of non-Moose non-hashref classes =cut -Moose::Exporter->setup_import_methods; +my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods( + metaclass_roles => ['MooseX::NonMoose::Meta::Role::Class'], + constructor_class_roles => ['MooseX::NonMoose::Meta::Role::Constructor'], + instance_metaclass_roles => ['MooseX::InsideOut::Role::Meta::Instance'], + install => [qw(import unimport)], +); sub init_meta { - shift; + my $package = 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'], - constructor_class_roles => - ['MooseX::NonMoose::Meta::Role::Constructor'], - instance_metaclass_roles => - ['MooseX::InsideOut::Role::Meta::Instance'], - ); - return Class::MOP::class_of($options{for_class}); + Carp::cluck('Roles have no use for MooseX::NonMoose') + if Class::MOP::class_of($options{for_class})->isa('Moose::Meta::Role'); + $package->$init_meta(@_); } =head1 AUTHOR -- cgit v1.2.3-54-g00ecf