Moose compat: Remove Mouse::Class->attributes method in favor of get_attribute_map
Shawn M Moore [Tue, 10 Jun 2008 03:27:48 +0000 (03:27 +0000)]
lib/Mouse/Class.pm
lib/Mouse/Object.pm
t/018-multiattr-has.t
t/100-meta-class.t

index a094887..c43c12d 100644 (file)
@@ -49,7 +49,6 @@ sub add_attribute {
     $self->{'attributes'}{$attr->name} = $attr;
 }
 
-sub attributes        { values %{ $_[0]->{'attributes'} } }
 sub get_attribute_map { $_[0]->{attributes} }
 sub get_attribute     { $_[0]->{attributes}->{$_[1]} }
 
@@ -86,10 +85,6 @@ Gets (or sets) the list of superclasses of the owner class.
 
 Begins keeping track of the existing L<Mouse::Attribute> for the owner class.
 
-=head2 attributes -> [Mouse::Attribute]
-
-Returns a list of L<Mouse::Attribute> objects.
-
 =head2 get_attribute_map -> { name => Mouse::Attribute }
 
 Returns a mapping of attribute names to their corresponding
index 64f2ce4..4af0f39 100644 (file)
@@ -12,7 +12,7 @@ sub new {
     my %args  = @_;
     my $instance = bless {}, $class;
 
-    for my $attribute ($class->meta->attributes) {
+    for my $attribute (values %{ $class->meta->get_attribute_map }) {
         my $key = $attribute->init_arg;
         my $default;
 
index 49b4d3d..8fb97f0 100644 (file)
@@ -18,7 +18,7 @@ do {
 };
 
 can_ok(Class => qw/a b c/);
-is(Class->meta->attributes, 3, "three attributes created");
+is(keys %{ Class->meta->get_attribute_map }, 3, "three attributes created");
 Class->new(a => 1, b => 2);
 
 is_deeply(\%trigger, { a => 1, b => 1 }, "correct triggers called");
index 53f287e..66ffb9d 100644 (file)
@@ -23,7 +23,7 @@ is_deeply([$meta->superclasses], ['Mouse::Object'], "correctly inherting from Mo
 my $meta2 = Class->meta;
 is($meta, $meta2, "same metaclass instance");
 
-can_ok($meta, 'name', 'attributes', 'get_attribute_map');
+can_ok($meta, 'name', 'get_attribute_map');
 
 my $attr = $meta->get_attribute('pawn');
 isa_ok($attr, 'Mouse::Attribute');