Mouse::class_of
[gitmo/Mouse.git] / lib / Mouse / Object.pm
index 079aa80..217b7dc 100644 (file)
@@ -12,7 +12,7 @@ sub new {
 
     my $instance = bless {}, $class;
 
-    for my $attribute ($class->meta->compute_all_applicable_attributes) {
+    for my $attribute ($class->meta->get_all_attributes) {
         my $from = $attribute->init_arg;
         my $key  = $attribute->name;
 
@@ -27,7 +27,7 @@ sub new {
                 if ref($instance->{$key}) && $attribute->is_weak_ref;
 
             if ($attribute->has_trigger) {
-                $attribute->trigger->($instance, $args->{$from}, $attribute);
+                $attribute->trigger->($instance, $args->{$from});
             }
         }
         else {
@@ -68,13 +68,9 @@ sub BUILDARGS {
     my $class = shift;
 
     if (scalar @_ == 1) {
-        if (defined $_[0]) {
-            (ref($_[0]) eq 'HASH')
-                || confess "Single parameters to new() must be a HASH ref";
-            return {%{$_[0]}};
-        } else {
-            return {};
-        }
+        (ref($_[0]) eq 'HASH')
+            || confess "Single parameters to new() must be a HASH ref";
+        return {%{$_[0]}};
     }
     else {
         return {@_};