X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAccessor%2FNative%2FArray%2Fsort.pm;h=c3c5a138788ae037ae71287c16dc99ed63b352bc;hb=f4b86ac0e1fd7ff8a180f2f8332821170db5371e;hp=e7bf78271d9ba91183d53b66ca1724205674c763;hpb=10bd99ecf3f1706d4452fa57e3f08a63b9f92a11;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Accessor/Native/Array/sort.pm b/lib/Moose/Meta/Method/Accessor/Native/Array/sort.pm index e7bf782..c3c5a13 100644 --- a/lib/Moose/Meta/Method/Accessor/Native/Array/sort.pm +++ b/lib/Moose/Meta/Method/Accessor/Native/Array/sort.pm @@ -3,11 +3,22 @@ package Moose::Meta::Method::Accessor::Native::Array::sort; use strict; use warnings; -our $VERSION = '1.14'; +use Params::Util (); + +our $VERSION = '1.16'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; -use base 'Moose::Meta::Method::Accessor::Native::Reader'; +use Moose::Role; + +with 'Moose::Meta::Method::Accessor::Native::Reader' => { + -excludes => [ + qw( + _maximum_arguments + _inline_check_arguments + ) + ] +}; sub _maximum_arguments { 1 } @@ -16,7 +27,7 @@ sub _inline_check_arguments { return $self->_inline_throw_error( q{'The argument passed to sort must be a code reference'}) - . q{if $_[0] && ( ref $_[0] || q{} ) ne 'CODE';}; + . q{ if @_ && ! Params::Util::_CODELIKE( $_[0] );}; } sub _return_value { @@ -27,4 +38,6 @@ sub _return_value { "\$_[0] ? sort { \$_[0]->( \$a, \$b ) } \@{ ${slot_access} } : sort \@{ $slot_access }"; } +no Moose::Role; + 1;