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);
__END__
+