File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Array/map.pm
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod n/a
total 31 31 100.0


line stmt bran cond sub pod time code
1             package Moose::Meta::Method::Accessor::Native::Array::map;
2             our $VERSION = '2.2203';
3              
4 4     4   2477 use strict;
  4         9  
  4         133  
5 4     4   21 use warnings;
  4         8  
  4         111  
6              
7 4     4   21 use Params::Util ();
  4         7  
  4         77  
8              
9 4     4   22 use Moose::Role;
  4         6  
  4         43  
10              
11             with 'Moose::Meta::Method::Accessor::Native::Reader';
12              
13 19     19   58 sub _minimum_arguments { 1 }
14              
15 19     19   62 sub _maximum_arguments { 1 }
16              
17             sub _inline_check_arguments {
18 19     19   76 my $self = shift;
19              
20             return (
21 19         73 'if (!Params::Util::_CODELIKE($_[0])) {',
22             $self->_inline_throw_exception( InvalidArgumentToMethod =>
23             'argument => $_[0],'.
24             'method_name => "map",'.
25             'type_of_argument => "code reference",'.
26             'type => "CodeRef",',
27             ) . ';',
28             '}',
29             );
30             }
31              
32             sub _return_value {
33 19     19   43 my $self = shift;
34 19         46 my ($slot_access) = @_;
35              
36 19         157 return 'map { $_[0]->() } @{ (' . $slot_access . ') }';
37             }
38              
39 4     4   32 no Moose::Role;
  4         9  
  4         28  
40              
41             1;