X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FRole.pm;h=511a4e56cdb87617cdf9f0db6a5f03b364edf3b6;hp=4f224b49a8b56a1a3f1cd1f38efb217434e682d0;hb=013ee5f0c0ce5afa1fea9d45bd14bd8f8bfd67f4;hpb=e9148d131f7c3d6a1e3fc9e7c491f80fb5dde90b diff --git a/lib/Mouse/Role.pm b/lib/Mouse/Role.pm index 4f224b4..511a4e5 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; }