X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FMethod%2FConstructor.pm;h=7d4ccc96f2446f748c2f293265d9fe1b02fcc821;hb=1f817abe858ea1da50a481d948a69e55d4a62557;hp=f6287db6647d1ab20c47cc00385dc593f73f4d33;hpb=0bfc7290b1efb0dcbe6fcff1461ef9beea5a3f07;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Method/Constructor.pm b/lib/Mouse/Meta/Method/Constructor.pm index f6287db..7d4ccc9 100644 --- a/lib/Mouse/Meta/Method/Constructor.pm +++ b/lib/Mouse/Meta/Method/Constructor.pm @@ -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,18 @@ sub _generate_BUILDALL { } 1; +__END__ + +=head1 NAME + +Mouse::Meta::Method::Constructor - A Mouse method generator for constructors + +=head1 VERSION + +This document describes Mouse version 0.39 + +=head1 SEE ALSO + +L + +=cut