X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FRole.pm;h=4c53da3334f97351e6ab912e0df857226840c038;hb=6e64f8097e17ea8b7b950fee35046dfa43a5b4f3;hp=9c56aabe58679c082a594af0cd6c30de03b7a4b3;hpb=9b9e4b6566015d6d6e2aa6c745644174efa74623;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Role.pm b/lib/Mouse/Meta/Role.pm index 9c56aab..4c53da3 100644 --- a/lib/Mouse/Meta/Role.pm +++ b/lib/Mouse/Meta/Role.pm @@ -35,6 +35,13 @@ sub is_anon_role{ sub get_roles { $_[0]->{roles} } +sub calculate_all_roles { + my $self = shift; + my %seen; + return grep { !$seen{ $_->name }++ } + ($self, map { $_->calculate_all_roles } @{ $self->get_roles }); +} + sub get_required_method_list{ return @{ $_[0]->{required_methods} }; } @@ -316,7 +323,7 @@ Mouse::Meta::Role - The Mouse Role metaclass =head1 VERSION -This document describes Mouse version 0.39 +This document describes Mouse version 0.40 =head1 SEE ALSO