respect init_arg in immutable classes
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor / Meta / Method / Constructor.pm
index 970bd9c..9e82ec0 100644 (file)
@@ -15,7 +15,12 @@ override '_generate_BUILDALL' => sub ## no critic RequireArgUnpacking
     my $source = super();
     $source .= ";\n" if $source;
 
-    my @attrs = map { $_->name() . ' => 1,' } @{ $self->attributes() };
+    my @attrs =
+        ( map { "$_ => 1," }
+          grep { defined }
+          map { $_->init_arg() }
+          @{ $self->attributes() }
+        );
 
     $source .= <<"EOF";
 my \%attrs = (@attrs);