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;
}
};
if(defined $name){
- no strict 'refs';
- *{ caller() . '::' . $name } = $predicate;
+ Mouse::Util::install_subroutines(scalar caller, $name => $predicate);
return;
}
$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;
}