X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FAttributeHelpers%2FBase.pm;h=93f72fbd3202893f51874ee88ce0fd7d1a1a61a2;hb=9810162d2223e3165f6e9332898731c301d47742;hp=e195198534fc645afb931327962fe1da95e3a7d5;hpb=0e744400ae2cc0d7f07dc65252105e595ce738cb;p=gitmo%2FMooseX-AttributeHelpers.git diff --git a/lib/MooseX/AttributeHelpers/Base.pm b/lib/MooseX/AttributeHelpers/Base.pm index e195198..93f72fb 100644 --- a/lib/MooseX/AttributeHelpers/Base.pm +++ b/lib/MooseX/AttributeHelpers/Base.pm @@ -10,9 +10,9 @@ extends 'Moose::Meta::Attribute'; # this is the method map you define ... has 'provides' => ( - is => 'ro', - isa => 'HashRef', - required => 1, + is => 'ro', + isa => 'HashRef', + default => sub {{}} ); @@ -76,7 +76,8 @@ sub process_options_for_provides { before '_process_options' => sub { my ($self, $name, $options) = @_; - if (exists $options->{provides}) { + if (exists $options->{provides} || + exists $options->{isa} && $options->{isa} =~ /^.*?\[.*?\]$/) { $self->process_options_for_provides($options); } };