X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FRole.pm;h=870b69d9c5f260606ed41ab1892a38737f75fcbc;hp=734bebe0d9feb7693d4a1f755d7e52da95f3bfd4;hb=69ac1dcfa408b64733ba3d2e47e8e791e4548f95;hpb=2c09851498d4ec7bb7a166d08623b6599d16598f diff --git a/lib/Mouse/Meta/Role.pm b/lib/Mouse/Meta/Role.pm index 734bebe..870b69d 100644 --- a/lib/Mouse/Meta/Role.pm +++ b/lib/Mouse/Meta/Role.pm @@ -37,12 +37,13 @@ sub name { $_[0]->{name} } sub add_attribute { my $self = shift; my $name = shift; - $self->{attributes}->{$name} = [ @_ ]; + my $spec = shift; + $self->{attributes}->{$name} = $spec; } sub has_attribute { exists $_[0]->{attributes}->{$_[1]} } sub get_attribute_list { keys %{ $_[0]->{attributes} } } -sub get_attribute { $_->[0]->{attributes}->{$_[1]} } +sub get_attribute { $_[0]->{attributes}->{$_[1]} } sub apply { my $self = shift; @@ -51,7 +52,7 @@ sub apply { for my $name ($self->get_attribute_list) { my $spec = $self->get_attribute($name); - Mouse::Meta::Attribute->create($pkg, $name, @$spec); + Mouse::Meta::Attribute->create($pkg, $name, %$spec); } }