Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / MooseX / Clone / Meta / Attribute / Trait / Clone / Std.pm
CommitLineData
3fea05b9 1package MooseX::Clone::Meta::Attribute::Trait::Clone::Std;
2use Moose::Role;
3
4use namespace::clean -except => 'meta';
5
6with qw(MooseX::Clone::Meta::Attribute::Trait::Clone::Base);
7
8requires qw(clone_value_data);
9
10sub clone_value {
11 my ( $self, $target, $proto, %args ) = @_;
12
13 if ( exists $args{init_arg} ) {
14 $self->set_value( $target, $args{init_arg} );
15 } else {
16 return unless $self->has_value($proto);
17
18 my $clone = $self->clone_value_data( scalar($self->get_value($proto)), %args );
19
20 $self->set_value( $target, $clone );
21 }
22}
23
24__PACKAGE__
25
26__END__