File Coverage

blib/lib/Tangerine/hook/xxx.pm
Criterion Covered Total %
statement 33 33 100.0
branch 10 10 100.0
condition 8 9 88.8
subroutine 10 10 100.0
pod 1 1 100.0
total 62 63 98.4


line stmt bran cond sub pod time code
1             package Tangerine::hook::xxx;
2             $Tangerine::hook::xxx::VERSION = '0.20';
3 15     15   1353 use 5.010;
  15         54  
4 15     15   77 use strict;
  15         32  
  15         458  
5 15     15   72 use warnings;
  15         41  
  15         406  
6 15     15   75 use parent 'Tangerine::Hook';
  15         25  
  15         83  
7 15     15   916 use List::Util 1.33 qw(any);
  15         221  
  15         877  
8 15     15   81 use Tangerine::HookData;
  15         26  
  15         338  
9 15     15   70 use Tangerine::Occurence;
  15         26  
  15         488  
10 15     15   72 use Tangerine::Utils qw/stripquotelike/;
  15         32  
  15         3438  
11              
12             sub run {
13 132     132 1 205 my ($self, $s) = @_;
14 132 100 100 187   507 if ((any { $s->[0] eq $_ } qw(use no)) &&
  187   100     1084  
15             scalar(@$s) > 2 && $s->[1] eq 'XXX') {
16 4         125 my $module;
17 4 100 66     10 if ($s->[2] eq '-dumper') {
    100          
    100          
18 1         13 $module = 'Data::Dumper';
19             } elsif ($s->[2] eq '-yaml') {
20 1         23 $module = 'YAML';
21             } elsif ($s->[2] eq '-with' && $s->[4]) {
22 1         39 $module = stripquotelike($s->[4]);
23             }
24 4 100       75 return Tangerine::HookData->new( modules => {
25             $module => Tangerine::Occurence->new } )
26             if $module;
27             }
28 129         2912 return;
29             }
30              
31             1;
32              
33             __END__