X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FPurePerl.pm;h=0003a9b3ee4c09a762c4070c091fd2555904835b;hp=31e4a12b947664f6e7bfa87b7df3981e81490252;hb=1194aedef7b9a3f8c4a36fd7060c27b1a2907b87;hpb=467c4815ec15a74e6aa4970b6d69bcb4a6fa0b7f diff --git a/lib/Mouse/PurePerl.pm b/lib/Mouse/PurePerl.pm index 31e4a12..0003a9b 100644 --- a/lib/Mouse/PurePerl.pm +++ b/lib/Mouse/PurePerl.pm @@ -101,8 +101,7 @@ sub generate_isa_predicate_for { my $predicate = sub{ Scalar::Util::blessed($_[0]) && $_[0]->isa($for_class) }; if(defined $name){ - no strict 'refs'; - *{ caller() . '::' . $name } = $predicate; + Mouse::Util::install_subroutines(scalar caller, $name => $predicate); return; } @@ -128,8 +127,7 @@ sub generate_can_predicate_for { }; if(defined $name){ - no strict 'refs'; - *{ caller() . '::' . $name } = $predicate; + Mouse::Util::install_subroutines(scalar caller, $name => $predicate); return; } @@ -237,10 +235,9 @@ sub add_method { $self->{methods}->{$name} = $code; # Moose stores meta object here. - my $pkg = $self->name; - no strict 'refs'; - no warnings 'redefine', 'once'; - *{ $pkg . '::' . $name } = $code; + Mouse::Util::install_subroutines($self->name, + $name => $code, + ); return; }