File Coverage

blib/lib/Moose/Meta/Method/Accessor/Native/Array/sort_in_place.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition n/a
subroutine 10 10 100.0
pod n/a
total 33 33 100.0


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