X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FObject.pm;h=e619d1f136d96fc7a44d08f220ff1d11a99694af;hb=8b3c8a92f073be4d107f7c709bcb36d048eff1d4;hp=8dbd984c9882337ebe4b7cf65ab032dd08732eeb;hpb=d81ecac91121d43947e111c5beb9b028aa92f8ef;p=gitmo%2FMoose.git diff --git a/lib/Moose/Object.pm b/lib/Moose/Object.pm index 8dbd984..e619d1f 100644 --- a/lib/Moose/Object.pm +++ b/lib/Moose/Object.pm @@ -112,7 +112,8 @@ BEGIN { # as appropiate see Moose::Meta::Role sub does { my ($self, $role_name) = @_; - my $meta = Class::MOP::class_of($self); + my $class = Scalar::Util::blessed($self) || $self; + my $meta = Class::MOP::Class->initialize($class); (defined $role_name) || $meta->throw_error("You must supply a role name to does()"); return 1 if $meta->can('does_role') && $meta->does_role($role_name);