these version checks already happen in the exporter
[gitmo/MooseX-UndefTolerant.git] / lib / MooseX / UndefTolerant / Class.pm
CommitLineData
d6ce838b 1package MooseX::UndefTolerant::Class;
2use Moose::Role;
3
e5d1b642 4around _inline_init_attr_from_constructor => sub {
5 my $orig = shift;
6 my $self = shift;
7 my ($attr, $idx) = @_;
d6ce838b 8
e5d1b642 9 my @source = $self->$orig(@_);
d6ce838b 10
e5d1b642 11 my $init_arg = $attr->init_arg;
d6ce838b 12
e5d1b642 13 return
14 "if ( exists \$params->{$init_arg} && defined \$params->{$init_arg} ) {",
15 @source,
16 '} else {',
17 "delete \$params->{$init_arg};",
18 '}';
19};
d6ce838b 20
21no Moose::Role;
22
231;