| 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; |