File Coverage

blib/lib/Catmandu/Fix/prepend.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 26 26 100.0


line stmt bran cond sub pod time code
1             package Catmandu::Fix::prepend;
2              
3 1     1   103359 use Catmandu::Sane;
  1         4  
  1         7  
4              
5             our $VERSION = '1.2020';
6              
7 1     1   6 use Moo;
  1         3  
  1         4  
8 1     1   803 use Catmandu::Util::Path qw(as_path);
  1         2  
  1         51  
9 1     1   6 use namespace::clean;
  1         2  
  1         4  
10 1     1   703 use Catmandu::Fix::Has;
  1         3  
  1         5  
11              
12             has path => (fix_arg => 1);
13             has value => (fix_arg => 1);
14              
15             with 'Catmandu::Fix::Builder';
16              
17             sub _build_fixer {
18 2     2   23 my ($self) = @_;
19 2         6 my $val = $self->value;
20 2     3   12 as_path($self->path)->updater(if_value => sub {join('', $val, $_[0])});
  3         68  
21             }
22              
23             1;
24              
25             __END__
26              
27             =pod
28              
29             =head1 NAME
30              
31             Catmandu::Fix::prepend - add a prefix to the value of a field
32              
33             =head1 SYNOPSIS
34              
35             # prepend to a value. e.g. {name => 'smith'}
36             prepend(name, 'mr. ') # {name => 'mr. smith'}
37              
38             =head1 SEE ALSO
39              
40             L<Catmandu::Fix>
41              
42             =cut