X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoo.pm;h=0dfaf8d1040b3ee00166ce6f9c2ec898bdf849c9;hb=c600e70640098ae6ad958dc7a07187464abd37d3;hp=f5737fd73b842bff6f9c6f1184eb79666cd1375a;hpb=4ae155a9c590216ff7ac2965b3956079574c0e97;p=gitmo%2FMoo.git diff --git a/lib/Moo.pm b/lib/Moo.pm index f5737fd..0dfaf8d 100644 --- a/lib/Moo.pm +++ b/lib/Moo.pm @@ -5,7 +5,7 @@ use Moo::_Utils; use B 'perlstring'; use Sub::Defer (); -our $VERSION = '1.003000'; +our $VERSION = '1.003001'; $VERSION = eval $VERSION; require Moo::sification; @@ -121,7 +121,7 @@ sub _accessor_maker_for { $MAKERS{$target}{accessor} ||= do { my $maker_class = do { if (my $m = do { - if (my $defer_target = + if (my $defer_target = (Sub::Defer::defer_info($target->can('new'))||[])->[0] ) { my ($pkg) = ($defer_target =~ /^(.*)::[^:]+$/); @@ -166,7 +166,7 @@ sub _constructor_maker_for { } else { $moo_constructor = 1; # no other constructor, make a Moo one } - }; + } ($con ? ref($con) : 'Method::Generate::Constructor') ->new( package => $target, @@ -191,6 +191,8 @@ sub _constructor_maker_for { } 1; +__END__ + =pod =encoding utf-8 @@ -529,7 +531,7 @@ Takes a coderef which is meant to coerce the attribute. The basic idea is to do something like the following: coerce => sub { - $_[0] + 1 unless $_[0] % 2 + $_[0] % 2 ? $_[0] : $_[0] + 1 }, Note that L will always fire your coercion: this is to permit