X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FRole.pm;h=a6e3fc00a3ddc3dbf20991644819dd32bd22f517;hb=6d5a627396f91b2dce25a7b6e5c5dbe6b67f2d95;hp=4f224b49a8b56a1a3f1cd1f38efb217434e682d0;hpb=e9148d131f7c3d6a1e3fc9e7c491f80fb5dde90b;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Role.pm b/lib/Mouse/Role.pm index 4f224b4..a6e3fc0 100644 --- a/lib/Mouse/Role.pm +++ b/lib/Mouse/Role.pm @@ -56,30 +56,27 @@ sub has { sub before { my $meta = Mouse::Meta::Role->initialize(scalar caller); - my $code = pop; - for (@_) { - $meta->add_before_method_modifier($_ => $code); + for my $name($meta->_collect_methods(@_)) { + $meta->add_before_method_modifier($name => $code); } return; } sub after { my $meta = Mouse::Meta::Role->initialize(scalar caller); - my $code = pop; - for (@_) { - $meta->add_after_method_modifier($_ => $code); + for my $name($meta->_collect_methods(@_)) { + $meta->add_after_method_modifier($name => $code); } return; } sub around { my $meta = Mouse::Meta::Role->initialize(scalar caller); - my $code = pop; - for (@_) { - $meta->add_around_method_modifier($_ => $code); + for my $name($meta->_collect_methods(@_)) { + $meta->add_around_method_modifier($name => $code); } return; } @@ -161,15 +158,15 @@ This document describes Mouse version 0.50 Returns this role's metaclass instance. -=head2 C<< before (method|methods) -> CodeRef >> +=head2 C<< before (method|methods|regexp) -> CodeRef >> Sets up a B method modifier. See L. -=head2 C<< after (method|methods) => CodeRef >> +=head2 C<< after (method|methods|regexp) => CodeRef >> Sets up an B method modifier. See L. -=head2 C<< around (method|methods) => CodeRef >> +=head2 C<< around (method|methods|regexp) => CodeRef >> Sets up an B method modifier. See L.