File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Array/sort.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod n/a
total 29 29 100.0


line stmt bran cond sub pod time code
1             package Moose::Meta::Method::Accessor::Native::Array::sort;
2             our $VERSION = '2.2206';
3              
4 4     4   3008 use strict;
  4         14  
  4         140  
5 4     4   31 use warnings;
  4         12  
  4         119  
6              
7 4     4   24 use Params::Util ();
  4         12  
  4         76  
8              
9 4     4   24 use Moose::Role;
  4         9  
  4         55  
10              
11             with 'Moose::Meta::Method::Accessor::Native::Reader';
12              
13 19     19   68 sub _maximum_arguments { 1 }
14              
15             sub _inline_check_arguments {
16 19     19   47 my $self = shift;
17              
18             return (
19 19         79 'if (@_ && !Params::Util::_CODELIKE($_[0])) {',
20             $self->_inline_throw_exception( InvalidArgumentToMethod =>
21             'argument => $_[0],'.
22             'method_name => "sort",'.
23             'type_of_argument => "code reference",'.
24             'type => "CodeRef",',
25             ) . ';',
26             '}',
27             );
28             }
29              
30             sub _return_value {
31 19     19   44 my $self = shift;
32 19         49 my ($slot_access) = @_;
33              
34             return
35 19         206 'wantarray ? ( ' .
36             '$_[0] '
37             . '? sort { $_[0]->($a, $b) } @{ (' . $slot_access . ') } '
38             . ': sort @{ (' . $slot_access . ') }'
39             . ' ) : @{ (' . $slot_access . ') }';
40             }
41              
42 4     4   70 no Moose::Role;
  4         12  
  4         27  
43              
44             1;