X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMooseX-StrictConstructor.git;a=blobdiff_plain;f=lib%2FMooseX%2FStrictConstructor%2FTrait%2FMethod%2FConstructor.pm;fp=lib%2FMooseX%2FStrictConstructor%2FTrait%2FMethod%2FConstructor.pm;h=8d8590f1b20d667af8151b9a1f9a07281e4a6636;hp=ae5d3fb2b9fa3d60f95e33190b3b319fea5f9889;hb=0b60c40bd27a81249ffaae24e6cb8b6423364bcf;hpb=bb64c0458ed377f9a5a7f4d4071dee8cf0821312 diff --git a/lib/MooseX/StrictConstructor/Trait/Method/Constructor.pm b/lib/MooseX/StrictConstructor/Trait/Method/Constructor.pm index ae5d3fb..8d8590f 100644 --- a/lib/MooseX/StrictConstructor/Trait/Method/Constructor.pm +++ b/lib/MooseX/StrictConstructor/Trait/Method/Constructor.pm @@ -6,19 +6,18 @@ use namespace::autoclean; use B (); -around '_generate_BUILDALL' => sub { +around _generate_BUILDALL => sub { my $orig = shift; my $self = shift; my $source = $self->$orig(); $source .= ";\n" if $source; - my @attrs = ( - '__INSTANCE__ => 1,', - map { B::perlstring($_) . ' => 1,' } - grep {defined} - map { $_->init_arg() } @{ $self->_attributes() } - ); + my @attrs = '__INSTANCE__ => 1,'; + push @attrs, map { B::perlstring($_) . ' => 1,' } + grep { defined } + map { $_->init_arg() } @{ $self->_attributes() }; + $source .= <<"EOF"; my \%attrs = (@attrs);