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.2205';
3              
4 4     4   2843 use strict;
  4         17  
  4         139  
5 4     4   25 use warnings;
  4         7  
  4         136  
6              
7 4     4   31 use Params::Util ();
  4         14  
  4         60  
8              
9 4     4   23 use Moose::Role;
  4         12  
  4         29  
10              
11             with 'Moose::Meta::Method::Accessor::Native::Array::Writer';
12              
13 19     19   65 sub _maximum_arguments { 1 }
14              
15             sub _inline_check_arguments {
16 19     19   46 my $self = shift;
17              
18             return (
19 19         71 '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   60 sub _adds_members { 0 }
31              
32             sub _potential_value {
33 19     19   42 my $self = shift;
34 19         50 my ($slot_access) = @_;
35              
36 19         88 return '[ $_[0] '
37             . '? sort { $_[0]->($a, $b) } @{ (' . $slot_access . ') } '
38             . ': sort @{ (' . $slot_access . ') } ]';
39             }
40              
41 38     38   142 sub _return_value { '' }
42              
43 4     4   37 no Moose::Role;
  4         11  
  4         31  
44              
45             1;