use strict;
use warnings;
-our $VERSION = '1.13';
+use Class::MOP::MiniTrait;
+
+our $VERSION = '1.19';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
-use base 'Moose::Meta::Method::Accessor::Native::Array::Reader';
+use Moose::Role;
-sub _inline_process_arguments {
- return 'my $idx = shift;';
-}
+with 'Moose::Meta::Method::Accessor::Native::Reader' => {
+ -excludes => [
+ qw(
+ _minimum_arguments
+ _maximum_arguments
+ _inline_check_arguments
+ )
+ ],
+ },
+ 'Moose::Meta::Method::Accessor::Native::Array';
+
+sub _minimum_arguments { 1 }
+
+sub _maximum_arguments { 1 }
sub _inline_check_arguments {
- return
- q{die 'Must provide a valid index number as an argument' unless defined $idx && $idx =~ /^-?\d+$/;};
+ my $self = shift;
+
+ return $self->_inline_check_var_is_valid_index('$_[0]');
}
sub _return_value {
my $self = shift;
my $slot_access = shift;
- return "${slot_access}->[\$idx]";
+ return "${slot_access}->[ \$_[0] ]";
}
1;