File Coverage

blib/lib/Evo/Export.pm
Criterion Covered Total %
statement 124 124 100.0
branch 32 58 55.1
condition n/a
subroutine 28 28 100.0
pod 5 9 55.5
total 189 219 86.3


line stmt bran cond sub pod time code
1             package Evo::Export;
2 55     79   20770 use Evo '::Meta';
  55         120  
  55         386  
3              
4              
5             my $META = Evo::Export::Meta->find_or_bind_to(__PACKAGE__);
6              
7 124 50   124 0 479 sub install_in ($me, $dest, $from, @list) {
  124         245  
  124         209  
  124         245  
  124         402  
  124         214  
8 124         767 Evo::Export::Meta->find_or_bind_to($from)->install($dest, @list);
9             }
10              
11 534 50   534 0 1384 sub Export ($pkg, $code, $name, $as = $name) : Attr {
  534 50       1258  
  534 100       869  
  534         814  
  534         874  
  534         1169  
  534         763  
12 534 50       1132 $name or (undef, $name) = Evo::Lib::Bare::code2names($code);
13 534         1781 Evo::Export::Meta->find_or_bind_to($pkg)->export_code($as, $code);
14 55     55   26321 }
  55         53781  
  55         415  
15              
16 540 50   540 0 1407 sub ExportGen ($pkg, $gen, $name, $as = $name) : Attr {
  540 50       1226  
  540 100       860  
  540         779  
  540         779  
  540         1213  
  540         777  
17 540 50       1175 $name or (undef, $name) = Evo::Lib::Bare::code2names($gen);
18 540         1758 Evo::Export::Meta->find_or_bind_to($pkg)->export_gen($as, $gen);
19 55     55   12089 }
  55         110  
  55         193  
20              
21 233 50   233   1057 sub import ($self, @list) {
  233         464  
  233         726  
  233         428  
22 233         493 my $dest = scalar caller;
23 233         1135 Evo::Export::Meta->find_or_bind_to($dest);
24 233 100       716 @list = ('*') unless @list;
25 233         694 Evo::Export::Meta->find_or_bind_to($self)->install($dest, @list);
26             }
27              
28 170 50   170   3979 sub _import ($self, @list) : Export(import) {
  170         369  
  170         595  
  170         343  
29 170         372 my $dest = scalar caller;
30 170         602 Evo::Export::Meta->find_or_bind_to($self)->install($dest, @list);
31 55     55   12289 }
  55         107  
  55         195  
32              
33              
34 190 50   190 1 518 sub EXPORT ($me, $dest) : ExportGen {
  190 50       480  
  190         333  
  190         340  
  190         272  
35             sub {
36 4     4   1479 Evo::Export::Meta->find_or_bind_to($dest);
        78      
        58      
37 190         1195 };
38 55     55   8673 }
  55         111  
  55         195  
39              
40 1 50   1 0 5 sub import_all ($exporter, @list) : Export {
  1         3  
  1         4  
  1         3  
41 1 50       5 @list = ('*') unless @list;
42 1         5 Evo::Export::Meta->find_or_bind_to($exporter)->install(scalar caller, @list);
43 55     55   8315 }
  55         108  
  55         197  
44              
45 190 50   190 1 562 sub export_gen ($me, $dst) : ExportGen {
  190 50       525  
  190         314  
  190         358  
  190         281  
46 2 50   2   64 sub ($name, $gen) {
  2 50       8  
  2         4  
  2         4  
  2         3  
47 2         14 Evo::Export::Meta->find_or_bind_to($dst)->export_gen($name, $gen);
48 190         1074 };
49 55     55   9657 }
  55         112  
  55         237  
50              
51 190 50   190 1 581 sub export_code ($me, $dst) : ExportGen {
  190 50       474  
  190         325  
  190         312  
  190         278  
52 1 50   1   11 sub ($name, $fn) {
  1 50       4  
  1         3  
  1         2  
  1         2  
53 1         3 Evo::Export::Meta->find_or_bind_to($dst)->export_code($name, $fn);
54 190         1105 };
55 55     55   9403 }
  55         107  
  55         200  
56              
57 190 50   190 1 520 sub export ($me, $dst) : ExportGen {
  190 50       517  
  190         313  
  190         307  
  190         299  
58 114     114   670 sub { Evo::Export::Meta->find_or_bind_to($dst)->export($_) for @_ }
59 55     55   9049 }
  55         111  
  55         195  
  190         1064  
60              
61 227 50   227 1 609 sub export_proxy ($me, $dst) : ExportGen {
  227 50       555  
  227         370  
  227         349  
  227         344  
62 88 50   88   351 sub ($origpkg, @list) {
  88         208  
  88         336  
  88         179  
63 88         389 Evo::Export::Meta->find_or_bind_to($dst)->export_proxy($origpkg, @list);
64 227         1411 };
65 55     55   9669 }
  55         113  
  55         193  
66              
67              
68             1;
69              
70             __END__