t/001_basic.t - add ro test
[gitmo/Moose-Policy.git] / lib / Moose / Policy.pm
index ffe4b69..4cb790e 100644 (file)
@@ -25,10 +25,17 @@ sub import {
     
     my %options;
     
-    $options{':attribute_metaclass'} = $policy->attribute_metaclass 
-        if $policy->can('attribute_metaclass');
+    # build options out of policy's constants
+    $policy->can($_) and $options{":$_"} = $policy->$_()
+        for (qw(
+            attribute_metaclass
+            instance_metaclass
+            method_metaclass
+            ));
     
     my $package = caller();
+    $package->can('meta') and
+        croak("'$package' already has a meta() method");
     
     # create a meta object so we can install &meta
     my $meta = $metaclass->initialize($package => %options);
@@ -46,3 +53,4 @@ sub import {
 
 __END__
 
+