File Coverage

blib/lib/Catmandu/Fix/array.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::array;
2              
3 1     1   106366 use Catmandu::Sane;
  1         4  
  1         7  
4              
5             our $VERSION = '1.2020';
6              
7 1     1   8 use Moo;
  1         2  
  1         5  
8 1     1   834 use Catmandu::Util::Path qw(as_path);
  1         3  
  1         51  
9 1     1   7 use namespace::clean;
  1         3  
  1         3  
10 1     1   708 use Catmandu::Fix::Has;
  1         3  
  1         6  
11              
12             with 'Catmandu::Fix::Builder';
13              
14             has path => (fix_arg => 1);
15              
16             sub _build_fixer {
17 1     1   16 my ($self) = @_;
18 1     1   7 as_path($self->path)->updater(if_hash_ref => sub {[%{$_[0]}]});
  1         3  
  1         22  
19             }
20              
21             1;
22              
23             __END__
24              
25             =pod
26              
27             =head1 NAME
28              
29             Catmandu::Fix::array - creates an array out of a hash
30              
31             =head1 SYNOPSIS
32              
33             # tags => {name => 'Peter', age => 12}
34             array(tags)
35             # tags => ['name', 'Peter', 'age', 12]
36              
37             =head1 DESCRIPTION
38              
39             This fix functions transforms hash fields to array. String fields and array
40             fields are left unchanged.
41              
42             =head1 SEE ALSO
43              
44             L<Catmandu::Fix::hash>, L<Catmandu::Fix>
45              
46             =cut