package Mouse::PurePerl;
+require Mouse::Util;
+
package
Mouse::Util;
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};
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;
return;
}
+package
+ Mouse::Object;
+
+sub BUILDARGS {
+ my $class = shift;
+
+ if (scalar @_ == 1) {
+ (ref($_[0]) eq 'HASH')
+ || $class->meta->throw_error("Single parameters to new() must be a HASH ref");
+
+ return {%{$_[0]}};
+ }
+ else {
+ return {@_};
+ }
+}
1;
__END__
=head1 VERSION
-This document describes Mouse version 0.40_04
+This document describes Mouse version 0.40_05
=head1 SEE ALSO