Skip to content

Commit

Permalink
more concise setter, updater args
Browse files Browse the repository at this point in the history
  • Loading branch information
nics committed Oct 17, 2017
1 parent 5453650 commit f29d031
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 14 deletions.
2 changes: 1 addition & 1 deletion lib/Catmandu/Fix/add_field.pm
Expand Up @@ -16,7 +16,7 @@ has value => (fix_arg => 1, default => sub {undef});

sub _build_fixer {
my ($self) = @_;
as_path($self->path)->creator(value => $self->value);
as_path($self->path)->creator($self->value);
}

1;
Expand Down
12 changes: 5 additions & 7 deletions lib/Catmandu/Fix/rename.pm
Expand Up @@ -5,22 +5,21 @@ use Catmandu::Sane;
our $VERSION = '1.0606';

use Moo;
use Catmandu::Util qw(is_hash_ref is_array_ref);
use Catmandu::Util qw(as_path is_hash_ref is_array_ref);
use namespace::clean;
use Catmandu::Fix::Has;

has path => (fix_arg => 1);
has search => (fix_arg => 1);
has replace => (fix_arg => 1);

with 'Catmandu::Fix::SimpleGetValue';
with 'Catmandu::Fix::Builder';

sub emit_value {
my ($self, $var, $fixer) = @_;
sub _build_fixer {
my ($self) = @_;
my $search = $self->search;
my $replace = $self->replace;
my $renamer;

$renamer = sub {
my $data = $_[0];

Expand All @@ -42,8 +41,7 @@ sub emit_value {
$data;
};

my $renamer_var = $fixer->capture($renamer);
"${renamer_var}->(${var});";
as_path($self->path)->updater($renamer);
}

1;
Expand Down
2 changes: 1 addition & 1 deletion lib/Catmandu/Fix/set_array.pm
Expand Up @@ -17,7 +17,7 @@ has values => (fix_arg => 'collect', default => sub {[]});
sub _build_fixer {
my ($self) = @_;
my $values = $self->values;
as_path($self->path)->setter(value => sub {[@$values]});
as_path($self->path)->setter(sub {[@$values]});
}

1;
Expand Down
2 changes: 1 addition & 1 deletion lib/Catmandu/Fix/set_field.pm
Expand Up @@ -16,7 +16,7 @@ has value => (fix_arg => 1, default => sub {undef});

sub _build_fixer {
my ($self) = @_;
as_path($self->path)->setter(value => $self->value);
as_path($self->path)->setter($self->value);
}

1;
Expand Down
2 changes: 1 addition & 1 deletion lib/Catmandu/Fix/set_hash.pm
Expand Up @@ -17,7 +17,7 @@ has values => (fix_arg => 'collect', default => sub {[]});
sub _build_fixer {
my ($self) = @_;
my $values = $self->values;
as_path($self->path)->setter(value => sub {+{@$values}});
as_path($self->path)->setter(sub {+{@$values}});
}

1;
Expand Down
9 changes: 6 additions & 3 deletions lib/Catmandu/Path/default.pm
Expand Up @@ -48,7 +48,8 @@ sub getter {
}

sub setter {
my ($self, %opts) = @_;
my $self = shift;
my %opts = @_ == 1 ? (value => $_[0]) : @_;
my $path = $self->split_path;
my $key = pop @$path;
my $data_var = $self->_generate_var;
Expand Down Expand Up @@ -82,7 +83,8 @@ sub setter {
}

sub updater {
my ($self, %opts) = @_;
my $self = shift;
my %opts = @_ == 1 ? (value => $_[0]) : @_;
my $path = $self->split_path;
my $data_var = $self->_generate_var;
my $captures = {};
Expand Down Expand Up @@ -131,7 +133,8 @@ sub updater {
}

sub creator {
my ($self, %opts) = @_;
my $self = shift;
my %opts = @_ == 1 ? (value => $_[0]) : @_;
my $path = $self->split_path;
my $data_var = $self->_generate_var;
my $val_var = $self->_generate_var;
Expand Down

0 comments on commit f29d031

Please sign in to comment.