$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
-use base 'Moose::Meta::Method::Accessor::Native::Hash::Writer';
+use Moose::Role;
+
+with 'Moose::Meta::Method::Accessor::Native::Hash::Writer' => {
+ -excludes => [
+ qw(
+ _minimum_arguments
+ _maximum_arguments
+ _inline_process_arguments
+ _inline_check_arguments
+ _inline_optimized_set_new_value
+ )
+ ],
+};
sub _minimum_arguments { 2 }
sub _maximum_arguments { undef }
-sub _inline_check_argument_count {
+around _inline_check_argument_count => sub {
+ my $orig = shift;
my $self = shift;
return
- $self->SUPER::_inline_check_argument_count(@_) . "\n"
+ $self->$orig(@_) . "\n"
. $self->_inline_throw_error(
q{'You must pass an even number of arguments to set'})
. ' if @_ % 2;';
-}
+};
sub _inline_process_arguments {
my $self = shift;
return "\@{ $slot_access }{ \@_[ \@keys_idx] } = \@_[ \@values_idx ]";
}
+no Moose::Role;
+
1;