X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FRole.pm;h=59cccd228fdaa3f286b52ce21ef365b49f4f7045;hp=987239763cee603e176c84cb664ed77faebc79bd;hb=1b9e472d8c7e704eced9b2ea83194f83f0265018;hpb=6d28c5cf89bfd4c00e675e95aff6c31b61aeb805 diff --git a/lib/Mouse/Role.pm b/lib/Mouse/Role.pm index 9872397..59cccd2 100644 --- a/lib/Mouse/Role.pm +++ b/lib/Mouse/Role.pm @@ -9,7 +9,18 @@ use Scalar::Util 'blessed'; use Mouse::Util qw(load_class not_supported); use Mouse (); -our @EXPORT = qw(before after around super override inner augment has extends with requires excludes confess blessed); +our @EXPORT = qw( + extends with + has + before after around + override super + augment inner + + requires excludes + + blessed confess +); + our %is_removable = map{ $_ => undef } @EXPORT; delete $is_removable{confess}; delete $is_removable{blessed}; @@ -79,11 +90,9 @@ sub augment { sub has { my $meta = Mouse::Meta::Role->initialize(scalar caller); - my $name = shift; - my %opts = @_; - $meta->add_attribute($name => \%opts); + $meta->add_attribute($_ => @_) for ref($name) ? @{$name} : $name; } sub extends {