X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FRole.pm;h=c030b702c4c4e4143b94ada1156f44cbf0945eb4;hp=a41d5a69c2b763df0d0a0e46bc93736eab4e5616;hb=f3e1112299b631f1ab6150159eaa414dca37a42c;hpb=57633577acaebd562d9bf8a798bb66f5840d88c7 diff --git a/lib/Mouse/Meta/Role.pm b/lib/Mouse/Meta/Role.pm index a41d5a6..c030b70 100644 --- a/lib/Mouse/Meta/Role.pm +++ b/lib/Mouse/Meta/Role.pm @@ -170,7 +170,7 @@ sub _append_roles{ my $roles = $consumer->{roles}; foreach my $r($role, @{$role->get_roles}){ - if(!$consumer->does_role($r->name)){ + if(!$consumer->does_role($r)){ push @{$roles}, $r; } } @@ -288,6 +288,8 @@ sub does_role { (defined $role_name) || $self->throw_error("You must supply a role name to look for"); + $role_name = $role_name->name if ref $role_name; + # if we are it,.. then return true return 1 if $role_name eq $self->name; # otherwise.. check our children