X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FRole%2FApplication%2FRoleSummation.pm;h=d5b5e7219dd0a01fa54cdbce8e2cd4598fba3c23;hb=c8b8d92f366e6d9c09c0bb2a54b4f1942fc665ef;hp=99e78f90823c518db27a36ca65984a3ae98820d2;hpb=92d8204181e20d7b6a0144fca0a99095a7788ff4;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Role/Application/RoleSummation.pm b/lib/Moose/Meta/Role/Application/RoleSummation.pm index 99e78f9..d5b5e72 100644 --- a/lib/Moose/Meta/Role/Application/RoleSummation.pm +++ b/lib/Moose/Meta/Role/Application/RoleSummation.pm @@ -8,7 +8,7 @@ use Scalar::Util 'blessed'; use Moose::Meta::Role::Composite; -our $VERSION = '0.87'; +our $VERSION = '0.89'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; @@ -22,11 +22,13 @@ __PACKAGE__->meta->add_attribute('role_params' => ( sub get_exclusions_for_role { my ($self, $role) = @_; $role = $role->name if blessed $role; - if ($self->role_params->{$role} && defined $self->role_params->{$role}->{excludes}) { - if (ref $self->role_params->{$role}->{excludes} eq 'ARRAY') { - return $self->role_params->{$role}->{excludes}; + my $excludes_key = exists $self->role_params->{$role}->{'-excludes'} ? + '-excludes' : 'excludes'; + if ($self->role_params->{$role} && defined $self->role_params->{$role}->{$excludes_key}) { + if (ref $self->role_params->{$role}->{$excludes_key} eq 'ARRAY') { + return $self->role_params->{$role}->{$excludes_key}; } - return [ $self->role_params->{$role}->{excludes} ]; + return [ $self->role_params->{$role}->{$excludes_key} ]; } return []; } @@ -34,8 +36,10 @@ sub get_exclusions_for_role { sub get_method_aliases_for_role { my ($self, $role) = @_; $role = $role->name if blessed $role; - if ($self->role_params->{$role} && defined $self->role_params->{$role}->{alias}) { - return $self->role_params->{$role}->{alias}; + my $alias_key = exists $self->role_params->{$role}->{'-alias'} ? + '-alias' : 'alias'; + if ($self->role_params->{$role} && defined $self->role_params->{$role}->{$alias_key}) { + return $self->role_params->{$role}->{$alias_key}; } return {}; }