Move the eval_environment wrapper to the Class trait from Constructor
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor.pm
index 28c71e7..aa81a45 100644 (file)
@@ -6,17 +6,20 @@ use warnings;
 use Moose 0.94 ();
 use Moose::Exporter;
 use Moose::Util::MetaRole;
-use MooseX::StrictConstructor::Role::Object;
-use MooseX::StrictConstructor::Role::Meta::Method::Constructor;
-
-Moose::Exporter->setup_import_methods(
-    class_metaroles => {
-        constructor =>
-            ['MooseX::StrictConstructor::Role::Meta::Method::Constructor']
-    },
-    base_class_roles => ['MooseX::StrictConstructor::Role::Object'],
+
+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;
 
 # ABSTRACT: Make your object constructors blow up on unknown attributes
@@ -43,7 +46,7 @@ __END__
 
 Simply loading this module makes your constructors "strict". If your
 constructor is called with an attribute init argument that your class
-does not declare, then it calls "Carp::confess()". This is a great way
+does not declare, then it calls C<Moose->throw_error()>. This is a great way
 to catch small typos.
 
 =head2 Subverting Strictness