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 get_all_attributes {
my($self) = @_;
- my %attrs = map { %{ $self->initialize($_)->_attribute_map } } reverse $self->linearized_isa;
+ my %attrs = map { %{ $self->initialize($_)->{attributes} } } reverse $self->linearized_isa;
return values %attrs;
}
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__