File Coverage

blib/lib/Lingy/Base.pm
Criterion Covered Total %
statement 171 446 38.3
branch 15 40 37.5
condition 2 12 16.6
subroutine 120 121 99.1
pod n/a
total 308 619 49.7


line stmt bran cond sub pod time code
1             package Lingy::Base;
2             # use Mo qw'build default builder xxx import nonlazy required';
3             # The following line of code was produced from the previous line by
4             # Mo::Inline version 0.39
5 1 0 0 1   7 no warnings;my$M=__PACKAGE__.'::';*{$M.Object::new}=sub{my$c=shift;my$s=bless{@_},$c;my%n=%{$c.::.':E'};map{$s->{$_}=$n{$_}->()if!exists$s->{$_}}keys%n;$s};*{$M.import}=sub{import warnings;$^H|=1538;my($P,%e,%o)=caller.'::';shift;eval"no Mo::$_",&{$M.$_.::e}($P,\%e,\%o,\@_)for@_;return if$e{M};%e=(extends,sub{eval"no $_[0]()";@{$P.ISA}=$_[0]},has,sub{my$n=shift;my$m=sub{$#_?$_[0]{$n}=$_[1]:$_[0]{$n}};@_=(default,@_)if!($#_%2);$m=$o{$_}->($m,$n,@_)for sort keys%o;*{$P.$n}=$m},%e,);*{$P.$_}=$e{$_}for keys%e;@{$P.ISA}=$M.Object};*{$M.'build::e'}=sub{my($P,$e)=@_;$e->{new}=sub{$c=shift;my$s=&{$M.Object::new}($c,@_);my@B;do{@B=($c.::BUILD,@B)}while($c)=@{$c.::ISA};exists&$_&&&$_($s)for@B;$s}};*{$M.'default::e'}=sub{my($P,$e,$o)=@_;$o->{default}=sub{my($m,$n,%a)=@_;exists$a{default}or return$m;my($d,$r)=$a{default};my$g='HASH'eq($r=ref$d)?sub{+{%$d}}:'ARRAY'eq$r?sub{[@$d]}:'CODE'eq$r?$d:sub{$d};my$i=exists$a{lazy}?$a{lazy}:!${$P.':N'};$i or ${$P.':E'}{$n}=$g and return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$g->(@_):$m->(@_)}}};*{$M.'builder::e'}=sub{my($P,$e,$o)=@_;$o->{builder}=sub{my($m,$n,%a)=@_;my$b=$a{builder}or return$m;my$i=exists$a{lazy}?$a{lazy}:!${$P.':N'};$i or ${$P.':E'}{$n}=\&{$P.$b}and return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$_[0]->$b:$m->(@_)}}};use constant XXX_skip=>1;my$dm='YAML::XS';*{$M.'xxx::e'}=sub{my($P,$e)=@_;$e->{WWW}=sub{require XXX;local$XXX::DumpModule=$dm;XXX::WWW(@_)};$e->{XXX}=sub{require XXX;local$XXX::DumpModule=$dm;XXX::XXX(@_)};$e->{YYY}=sub{require XXX;local$XXX::DumpModule=$dm;XXX::YYY(@_)};$e->{ZZZ}=sub{require XXX;local$XXX::DumpModule=$dm}};my$i=\&import;*{$M.import}=sub{(@_==2 and not$_[1])?pop@_:@_==1?push@_,grep!/import/,@f:();goto&$i};*{$M.'nonlazy::e'}=sub{${shift().':N'}=1};*{$M.'required::e'}=sub{my($P,$e,$o)=@_;$o->{required}=sub{my($m,$n,%a)=@_;if($a{required}){my$C=*{$P."new"}{CODE}||*{$M.Object::new}{CODE};no warnings 'redefine';*{$P."new"}=sub{my$s=$C->(@_);my%a=@_[1..$#_];die$n." required"if!exists$a{$n};$s}}$m}};@f=qw[build default builder xxx import nonlazy required];use strict;use warnings;
  1 0 0 1   2  
  1 50 50 1   1085  
  1 100 0 1   21  
  1 0 33 1   2  
  1 100   1   429  
  1 50   1   6  
  1 100   1   2  
  1 100   1   164  
  1 50   1   4  
  1 50   1   2  
  1 0   1   35  
  1 0   1   4  
  1 50   1   2  
  1 0   1   41  
  1 0   1   364  
  0 0   1   0  
  0 0   1   0  
  1 50   1   337  
  0 50   1   0  
  0     1   0  
  1     1   330  
  0     1   0  
  0     1   0  
  1     1   331  
  0     1   0  
  0     1   0  
  1     1   338  
  0     1   0  
  0     1   0  
  1     1   350  
  0     1   0  
  0     1   0  
  1     1   404  
  0     1   0  
  0     1   0  
  1     1   381  
  0     1   0  
  0     1   0  
  1     1   351  
  0     1   0  
  0     1   0  
  1     1   369  
  0     1   0  
  0     1   0  
  1     1   356  
  0     1   0  
  0     1   0  
  1     1   366  
  0     1   0  
  0     1   0  
  1     1   352  
  0     1   0  
  0     1   0  
  1     1   307  
  0     1   0  
  0     1   0  
  1     1   323  
  0     1   0  
  0     1   0  
  1     1   312  
  0     1   0  
  0     1   0  
  1     1   317  
  0     1   0  
  0     1   0  
  1     1   353  
  0     1   0  
  0     1   0  
  1     1   346  
  0     1   0  
  0     1   0  
  1     1   335  
  0     1   0  
  0     1   0  
  1     1   353  
  0     1   0  
  0     1   0  
  1     1   352  
  0     1   0  
  0     1   0  
  1     1   403  
  0     1   0  
  0     1   0  
  1     1   395  
  0     1   0  
  0     1   0  
  1     1   406  
  0     1   0  
  0     1   0  
  1     1   359  
  0     1   0  
  0     1   0  
  1     1   349  
  0     1   0  
  0     1   0  
  1     1   282  
  0     1   0  
  0     1   0  
  1     1   290  
  0     1   0  
  0     1   0  
  1     1   332  
  0     1   0  
  0     1   0  
  1     1   306  
  0     1   0  
  0     1   0  
  1     1   327  
  0     1   0  
  0     1   0  
  1     1   358  
  0     1   0  
  0     1   0  
  1     1   293  
  0     1   0  
  0     1   0  
  1     1   359  
  0     1   0  
  0     1   0  
  1     0   348  
  0         0  
  0         0  
  1         385  
  0         0  
  0         0  
  1         346  
  0         0  
  0         0  
  1         440  
  0         0  
  0         0  
  1         377  
  0         0  
  0         0  
  1         406  
  0         0  
  0         0  
  1         399  
  0         0  
  0         0  
  1         322  
  0         0  
  0         0  
  1         367  
  0         0  
  0         0  
  1         353  
  0         0  
  0         0  
  1         337  
  0         0  
  0         0  
  1         291  
  0         0  
  0         0  
  1         320  
  0         0  
  0         0  
  1         322  
  0         0  
  0         0  
  1         317  
  0         0  
  0         0  
  1         369  
  0         0  
  0         0  
  1         287  
  0         0  
  0         0  
  1         428  
  0         0  
  0         0  
  1         342  
  0         0  
  0         0  
  1         393  
  0         0  
  0         0  
  1         331  
  0         0  
  0         0  
  1         414  
  0         0  
  0         0  
  1         334  
  0         0  
  0         0  
  1         322  
  0         0  
  0         0  
  1         369  
  0         0  
  0         0  
  1         323  
  0         0  
  0         0  
  1         443  
  0         0  
  0         0  
  1         296  
  0         0  
  0         0  
  1         329  
  0         0  
  0         0  
  1         333  
  0         0  
  0         0  
  1         320  
  0         0  
  0         0  
  1         330  
  0         0  
  0         0  
  1         303  
  0         0  
  0         0  
  1         438  
  0         0  
  0         0  
  1         343  
  0         0  
  0         0  
  1         426  
  0         0  
  0         0  
  1         347  
  0         0  
  0         0  
  1         411  
  0         0  
  0         0  
  1         295  
  0         0  
  0         0  
  1         334  
  0         0  
  0         0  
  1         334  
  0         0  
  0         0  
  1         310  
  0         0  
  0         0  
  1         341  
  0         0  
  0         0  
  1         341  
  0         0  
  0         0  
  1         380  
  0         0  
  0         0  
  1         287  
  0         0  
  0         0  
  1         320  
  0         0  
  0         0  
  1         353  
  0         0  
  0         0  
  1         318  
  0         0  
  0         0  
  1         397  
  0         0  
  0         0  
  1         375  
  0         0  
  0         0  
  1         395  
  0         0  
  0         0  
  1         341  
  0         0  
  0         0  
  1         384  
  0         0  
  0         0  
  1         300  
  0         0  
  0         0  
  1         386  
  0         0  
  0         0  
  1         288  
  0         0  
  0         0  
  1         356  
  0         0  
  0         0  
  1         340  
  0         0  
  0         0  
  1         337  
  0         0  
  0         0  
  1         350  
  0         0  
  0         0  
  1         332  
  0         0  
  0         0  
  1         489  
  0         0  
  0         0  
  1         337  
  0         0  
  0         0  
  1         382  
  0         0  
  0         0  
  1         343  
  0         0  
  0         0  
  1         388  
  0         0  
  0         0  
  1         384  
  0         0  
  0         0  
  1         406  
  0         0  
  0         0  
  1         368  
  0         0  
  0         0  
  1         286  
  0         0  
  0         0  
  1         341  
  0         0  
  0         0  
  1         350  
  0         0  
  0         0  
  1         336  
  0         0  
  0         0  
  1         365  
  0         0  
  0         0  
  1         368  
  0         0  
  0         0  
  1         332  
  0         0  
  0         0  
  1         333  
  0         0  
  0         0  
  1         338  
  0         0  
  0         0  
  1         8  
  1         2  
  1         11  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  15         28  
  15         31  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  15         43  
  0         0  
  0         0  
  15         32  
  15         70  
  15         54  
  15         116  
  15         22  
  15         102  
  7         389  
  7         20  
  7         138  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  18         34  
  18         1148  
  15         37  
  15         55  
  6         11  
  6         33  
  0         0  
  0         0  
  0         0  
  6         15  
  6         21  
  6         13  
  6         52  
  0         0  
  0         0  
  18         27  
  18         1101  
  18         28  
  18         1033  
  18         38  
  18         1144  
  15         34  
  15         78  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
  18         53  
  18         151  
  18         32  
  18         85  
  18         67  
  18         63  
  18         1751  
  18         630  
  18         56  
6             1;