use newer MetaRole API and require Moose 0.94
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor.pm
index 1f58bb1..5fb6d8c 100644 (file)
@@ -3,21 +3,18 @@ package MooseX::StrictConstructor;
 use strict;
 use warnings;
 
-our $VERSION = '0.07';
+our $VERSION = '0.08';
 $VERSION = eval $VERSION;
 
-use Class::MOP ();
-use Moose 0.56 ();
+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();
 
-sub init_meta
-{
+sub init_meta {
     shift;
     my %p = @_;
 
@@ -25,17 +22,19 @@ sub init_meta
 
     my $caller = $p{for_class};
 
-    Moose::Util::MetaRole::apply_metaclass_roles
-        ( for_class => $caller,
-          constructor_class_roles =>
-          ['MooseX::StrictConstructor::Role::Meta::Method::Constructor'],
-        );
-
-    Moose::Util::MetaRole::apply_base_class_roles
-        ( for_class => $caller,
-          roles =>
-          [ 'MooseX::StrictConstructor::Role::Object' ],
-        );
+    Moose::Util::MetaRole::apply_metaroles(
+        for             => $caller,
+        class_metaroles => {
+            constructor => [
+                'MooseX::StrictConstructor::Role::Meta::Method::Constructor']
+        },
+    );
+
+    Moose::Util::MetaRole::apply_base_class_roles(
+        for => $caller,
+        roles =>
+            ['MooseX::StrictConstructor::Role::Object'],
+    );
 
     return $caller->meta();
 }