use List::MoreUtils ();
use Scalar::Util qw( looks_like_number );
-our $AUTHORITY = 'cpan:STEVAN';
-
use Moose::Role;
-with 'Moose::Meta::Method::Accessor::Native::Hash::Writer' => {
- -excludes => [
- qw(
- _minimum_arguments
- _maximum_arguments
- _inline_process_arguments
- _inline_check_arguments
- _inline_coerce_new_values
- _inline_optimized_set_new_value
- _return_value
- )
- ],
-};
+with 'Moose::Meta::Method::Accessor::Native::Hash::Writer';
sub _minimum_arguments { 2 }
$self->$orig(@_),
'if (@_ % 2) {',
$self->_inline_throw_error(
- '"You must pass an even number of arguments to set"',
+ sprintf(
+ '"You must pass an even number of arguments to %s"',
+ $self->delegate_to_method,
+ ),
) . ';',
'}',
);
'for (@keys_idx) {',
'if (!defined($_[$_])) {',
$self->_inline_throw_error(
- '"Hash keys passed to set must be defined"',
+ sprintf(
+ '"Hash keys passed to %s must be defined"',
+ $self->delegate_to_method,
+ ),
) . ';',
'}',
'}',
'my $iter = List::MoreUtils::natatime(2, @_);',
'@_ = ();',
'while (my ($key, $val) = $iter->()) {',
- 'push @_, $key, $member_tc_obj->coerce($val);',
+ 'push @_, $key, $member_coercion->($val);',
'}',
);
};