File Coverage

blib/lib/Catmandu/Fix/split_field.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              
2             use Catmandu::Sane;
3 1     1   86770  
  1         3  
  1         6  
4             our $VERSION = '1.2019';
5              
6             use Moo;
7 1     1   7 use Catmandu::Util::Path qw(as_path);
  1         2  
  1         5  
8 1     1   645 use namespace::clean;
  1         2  
  1         43  
9 1     1   6 use Catmandu::Fix::Has;
  1         1  
  1         3  
10 1     1   617  
  1         2  
  1         5  
11             has path => (fix_arg => 1);
12             has split_char => (fix_arg => 1, default => sub {qr'\s+'});
13              
14             with 'Catmandu::Fix::Builder';
15              
16             my ($self) = @_;
17             my $split_char = $self->split_char;
18 3     3   25 as_path($self->path)
19 3         8 ->updater(if_value => sub {[split $split_char, $_[0]]});
20             }
21 3     3   9  
  3         80  
22             1;
23              
24              
25             =pod
26              
27             =head1 NAME
28              
29             Catmandu::Fix::split_field - split a string value in a field into an ARRAY
30              
31             =head1 SYNOPSIS
32              
33             # Split the 'foo' value into an array. E.g. foo => '1:2:3'
34             split_field(foo, ':') # foo => [1,2,3]
35              
36             =head1 SEE ALSO
37              
38             L<Catmandu::Fix>
39              
40             =cut