Tweaks for speed
[gitmo/Mouse.git] / lib / Mouse / PurePerl.pm
index 9b67e30..a999394 100644 (file)
@@ -1,5 +1,7 @@
 package Mouse::PurePerl;
 
+require Mouse::Util;
+
 package
     Mouse::Util;
 
@@ -166,7 +168,7 @@ package
 sub name          { $_[0]->{package} }
 
 sub _method_map   { $_[0]->{methods} }
-sub _attribute_map{ $_[0]->{attribute_map} }
+sub _attribute_map{ $_[0]->{attributes} }
 
 sub namespace{
     my $name = $_[0]->{package};
@@ -209,6 +211,12 @@ sub roles { $_[0]->{roles} }
 
 sub linearized_isa { @{ get_linear_isa($_[0]->{package}) } }
 
+sub get_all_attributes {
+    my($self) = @_;
+    my %attrs = map { %{ $self->initialize($_)->{attributes} } } reverse $self->linearized_isa;
+    return values %attrs;
+}
+
 package
     Mouse::Meta::Role;
 
@@ -340,7 +348,7 @@ Mouse::PurePerl - A Mouse guts in pure Perl
 
 =head1 VERSION
 
-This document describes Mouse version 0.40_03
+This document describes Mouse version 0.40_05
 
 =head1 SEE ALSO