File Coverage

blib/lib/MooseX/ExtraArgs/Meta/Object.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package # Hide from the indexer for now until docs are added later.
2             MooseX::ExtraArgs::Meta::Object;
3 1     1   11513 use Moose::Role;
  1         4107  
  1         3  
4              
5             has extra_args => (
6             is => 'ro',
7             isa => 'HashRef',
8             required => 1,
9             init_arg => '_extra_args',
10             );
11              
12             around BUILDARGS => sub{
13             my $orig = shift;
14             my $self = shift;
15              
16             my $args = $self->$orig( @_ );
17             $args->{_extra_args} = { %$args };
18              
19             my $meta = $self->meta();
20             foreach my $attr ($meta->get_all_attributes()) {
21             next if !$attr->has_init_arg();
22             delete( $args->{_extra_args}->{ $attr->init_arg() } );
23             }
24              
25             return $args;
26             };
27              
28             1;