File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Hash/Writer.pm
Criterion Covered Total %
statement 18 23 78.2
branch 0 4 0.0
condition n/a
subroutine 6 8 75.0
pod n/a
total 24 35 68.5


line stmt bran cond sub pod time code
1             package Moose::Meta::Method::Accessor::Native::Hash::Writer;
2             our $VERSION = '2.2206';
3              
4 7     7   3965 use strict;
  7         20  
  7         225  
5 7     7   38 use warnings;
  7         21  
  7         192  
6              
7 7     7   46 use Class::MOP::MiniTrait;
  7         18  
  7         165  
8              
9 7     7   32 use Moose::Role;
  7         14  
  7         44  
10              
11             with 'Moose::Meta::Method::Accessor::Native::Writer',
12             'Moose::Meta::Method::Accessor::Native::Hash',
13             'Moose::Meta::Method::Accessor::Native::Collection';
14              
15             sub _inline_coerce_new_values {
16 0     0   0 my $self = shift;
17              
18 0 0       0 return unless $self->associated_attribute->should_coerce;
19              
20 0 0       0 return unless $self->_tc_member_type_can_coerce;
21              
22 0         0 return <<'EOF';
23             if (@_) {
24             my %h = @_;
25             @h{ sort keys %h } = map { $member_coercion->($_) } @h{ sort keys %h };
26             }
27             EOF
28             }
29              
30 0     0   0 sub _new_members { 'values %{ { @_ } }' }
31              
32             sub _copy_old_value {
33 8     8   21 my $self = shift;
34 8         20 my ($slot_access) = @_;
35              
36 8         52 return '{ %{ (' . $slot_access . ') } }';
37             }
38              
39 7     7   63 no Moose::Role;
  7         17  
  7         48  
40              
41             1;