File Coverage

blib/lib/Catmandu/Fix/compact.pm
Criterion Covered Total %
statement 16 16 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 22 22 100.0


line stmt bran cond sub pod time code
1             package Catmandu::Fix::compact;
2              
3 1     1   107495 use Catmandu::Sane;
  1         3  
  1         7  
4              
5             our $VERSION = '1.2020';
6              
7 1     1   7 use Moo;
  1         2  
  1         12  
8 1     1   803 use Catmandu::Util::Path qw(as_path);
  1         3  
  1         51  
9 1     1   416 use Catmandu::Fix::Has;
  1         3  
  1         6  
10              
11             with 'Catmandu::Fix::Builder';
12              
13             has path => (fix_arg => 1);
14              
15             sub _build_fixer {
16 1     1   23 my ($self) = @_;
17             as_path($self->path)
18 1     1   11 ->updater(if_array_ref => sub {[grep defined, @{$_[0]}]});
  1         2  
  1         24  
19             }
20              
21             =head1 NAME
22              
23             Catmandu::Fix::compact - remove undefined values from an array
24              
25             =head1 SYNOPSIS
26              
27             # list => [undef,"hello",undef,"world"]
28             compact(list)
29             # list => ["Hello","world"]
30              
31             =head1 SEE ALSO
32              
33             L<Catmandu::Fix>
34              
35             =cut
36              
37             1;