X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAccessor%2FNative%2FArray%2Ffirst.pm;h=80b7be4ab387f1668a7e34b480a9974f5f40c57b;hb=f4b86ac0e1fd7ff8a180f2f8332821170db5371e;hp=d996f6c38b0e7b4e31539f62209f7e88c8c41069;hpb=e3181911a75bfb896df9ec013142348b1646acdf;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Accessor/Native/Array/first.pm b/lib/Moose/Meta/Method/Accessor/Native/Array/first.pm index d996f6c..80b7be4 100644 --- a/lib/Moose/Meta/Method/Accessor/Native/Array/first.pm +++ b/lib/Moose/Meta/Method/Accessor/Native/Array/first.pm @@ -4,12 +4,23 @@ use strict; use warnings; use List::Util (); +use Params::Util (); -our $VERSION = '1.13'; +our $VERSION = '1.16'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; -use base 'Moose::Meta::Method::Accessor::Native::Array::Reader'; +use Moose::Role; + +with 'Moose::Meta::Method::Accessor::Native::Reader' => { + -excludes => [ + qw( + _minimum_arguments + _maximum_arguments + _inline_check_arguments + ) + ] +}; sub _minimum_arguments { 1 } @@ -20,7 +31,7 @@ sub _inline_check_arguments { return $self->_inline_throw_error( q{'The argument passed to first must be a code reference'}) - . q{if $_[0] && ( ref $_[0] || q{} ) ne 'CODE';}; + . q{ unless Params::Util::_CODELIKE( $_[0] );}; } sub _return_value { @@ -30,4 +41,6 @@ sub _return_value { return "&List::Util::first( \$_[0], \@{ ${slot_access} } )"; } +no Moose::Role; + 1;