Changelogging
[gitmo/Mouse.git] / lib / Mouse / Meta / Method / Constructor.pm
index f6287db..315051f 100644 (file)
@@ -1,7 +1,7 @@
 package Mouse::Meta::Method::Constructor;
 use Mouse::Util; # enables strict and warnings
 
-sub _generate_constructor_method {
+sub _generate_constructor {
     my ($class, $metaclass, $args) = @_;
 
     my $associated_metaclass_name = $metaclass->name;
@@ -38,9 +38,7 @@ sub _generate_constructor_method {
         $@;
     };
     die $e if $e;
-
-    $metaclass->add_method($args->{constructor_name} => $code);
-    return;
+    return $code;
 }
 
 sub _generate_processattrs {
@@ -85,7 +83,7 @@ sub _generate_processattrs {
             $code .= "if (exists $value) {\n";
 
             if($need_coercion){
-                $value = "$instance_slot = $constraint_var->coerce($value);\n";
+                $value = "$constraint_var->coerce($value)";
             }
 
             $code .= "$instance_slot = $value;\n";
@@ -93,7 +91,7 @@ sub _generate_processattrs {
 
             if ($attr->has_trigger) {
                 $has_triggers++;
-                $code .= "push \@triggers, [$attr_var\->{trigger}, $value];\n";
+                $code .= "push \@triggers, [$attr_var\->{trigger}, $instance_slot];\n";
             }
 
             $code .= "\n} else {\n";
@@ -135,7 +133,7 @@ sub _generate_processattrs {
     }
 
     if($metaclass->is_anon_class){
-        push @res, q{$instnace->{__METACLASS__} = $metaclass;};
+        push @res, q{$instance->{__METACLASS__} = $metaclass;};
     }
 
     if($has_triggers){
@@ -185,3 +183,4 @@ sub _generate_BUILDALL {
 }
 
 1;
+__END__