bump version to 1.17
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Array / sort.pm
CommitLineData
910684ee 1package Moose::Meta::Method::Accessor::Native::Array::sort;
2
3use strict;
4use warnings;
5
88e88a7b 6use Params::Util ();
7
bb09ad91 8our $VERSION = '1.17';
910684ee 9$VERSION = eval $VERSION;
10our $AUTHORITY = 'cpan:STEVAN';
11
8b9641b8 12use Moose::Role;
13
14with 'Moose::Meta::Method::Accessor::Native::Reader' => {
15 -excludes => [
16 qw(
17 _maximum_arguments
18 _inline_check_arguments
19 )
20 ]
21};
910684ee 22
a7821be5 23sub _maximum_arguments { 1 }
910684ee 24
25sub _inline_check_arguments {
e3181911 26 my $self = shift;
27
28 return $self->_inline_throw_error(
29 q{'The argument passed to sort must be a code reference'})
88e88a7b 30 . q{ if @_ && ! Params::Util::_CODELIKE( $_[0] );};
910684ee 31}
32
33sub _return_value {
34 my $self = shift;
35 my $slot_access = shift;
36
37 return
1d06edbf 38 "\$_[0] ? sort { \$_[0]->( \$a, \$b ) } \@{ ($slot_access) } : sort \@{ ($slot_access) }";
910684ee 39}
40
8b9641b8 41no Moose::Role;
42
910684ee 431;