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=a3d3544f664d3b25e76b504890aa76a4060ff73e;hpb=f774b7de063779726b9f84c70f512cab94fee065;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Role.pm b/lib/Mouse/Meta/Role.pm index a3d3544..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} }; } @@ -314,6 +321,10 @@ __END__ Mouse::Meta::Role - The Mouse Role metaclass +=head1 VERSION + +This document describes Mouse version 0.40 + =head1 SEE ALSO L