Code for forward compat with Moose 1.99+
[gitmo/MooseX-UndefTolerant.git] / lib / MooseX / UndefTolerant / Class.pm
CommitLineData
d6ce838b 1package MooseX::UndefTolerant::Class;
2use Moose::Role;
3
4if ( $Moose::VERSION >= 1.9900 ) {
5 around('_inline_init_attr_from_constructor', sub {
6 my $orig = shift;
7 my $self = shift;
8 my ($attr, $idx) = @_;
9
10 my @source = $self->$orig(@_);
11
12 my $init_arg = $attr->init_arg;
13
14 return
15 "if ( exists \$params->{$init_arg} && defined \$params->{$init_arg} ) {",
16 @source,
17 '} else {',
18 "delete \$params->{$init_arg};",
19 '}';
20 });
21}
22
23no Moose::Role;
24
251;