File Coverage

blib/lib/Project/Easy/Config/Format/perl.pm
Criterion Covered Total %
statement 23 25 92.0
branch 1 2 50.0
condition n/a
subroutine 6 7 85.7
pod 0 4 0.0
total 30 38 78.9


line stmt bran cond sub pod time code
1             package Project::Easy::Config::Format::perl;
2              
3 1     1   809 use Class::Easy;
  1         2  
  1         6  
4              
5 1     1   142 use Data::Dumper;
  1         3  
  1         65  
6              
7             {
8 1     1   6 no warnings 'redefine';
  1         2  
  1         283  
9             sub Data::Dumper::qquote {
10 0     0 0 0 my $s = shift;
11 0         0 return "'$s'";
12             }
13             }
14              
15             sub new {
16 5     5 0 8 my $class = shift;
17 5         20 bless {}, $class;
18             }
19              
20             sub parse_string {
21 3     3 0 5 shift;
22 3         4 my $string = shift;
23              
24             # TODO: we only need one parser configuration
25 3         190 my $struct = eval $string;
26            
27 3 50       18 die ('error when parsing config: ', $@)
28             if $@;
29            
30 3         13 return $struct;
31             }
32              
33             sub dump_struct {
34 3     3 0 262 shift;
35 3         4 my $struct = shift;
36            
37             {
38 3         5 local $Data::Dumper::Useqq = 1;
  3         5  
39 3         11 my $str = Dumper ($struct);
40            
41 3         240 $str =~ s/^\$VAR\d+\s=\s//s;
42            
43 3         12 return $str;
44             }
45             }
46              
47              
48             1;