X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMooseX-StrictConstructor.git;a=blobdiff_plain;f=lib%2FMooseX%2FStrictConstructor.pm;h=aa81a45d191336c7b2c2637caee31f2b25715652;hp=80e8453c2752dd7755ed533e038913bd5680cae4;hb=f00a034fe06bd519d9f64f2f942d4ff402d0ae87;hpb=4a070866bc7b2cf1792322865e0c7997ef7401a3 diff --git a/lib/MooseX/StrictConstructor.pm b/lib/MooseX/StrictConstructor.pm index 80e8453..aa81a45 100644 --- a/lib/MooseX/StrictConstructor.pm +++ b/lib/MooseX/StrictConstructor.pm @@ -7,30 +7,18 @@ use Moose 0.94 (); use Moose::Exporter; use Moose::Util::MetaRole; -{ - my %class_meta = ( class => ['MooseX::StrictConstructor::Trait::Class'] ); - - - if ( $Moose::VERSION < 1.9900 ) { - require MooseX::StrictConstructor::Trait::Method::Constructor; - $class_meta{constructor} - = ['MooseX::StrictConstructor::Trait::Method::Constructor']; - } - - Moose::Exporter->setup_import_methods( - class_metaroles => \%class_meta, - ); - - my $old_import = __PACKAGE__->can('import'); - no warnings 'redefine'; - *import = sub { - my $caller = caller; - Carp::croak "$_[0] can only be applied to Moose classes" - unless eval { $caller->meta->isa('Moose::Meta::Class') }; - - goto &$old_import; - }; -} +use MooseX::StrictConstructor::Trait::Class; +use MooseX::StrictConstructor::Trait::Method::Constructor;; + +my %metaroles = ( + class => ['MooseX::StrictConstructor::Trait::Class'], +); + +$metaroles{constructor} + = ['MooseX::StrictConstructor::Trait::Method::Constructor'] + if $Moose::VERSION >= 1.9900; + +Moose::Exporter->setup_import_methods( class_metaroles => \%metaroles ); 1;