File Coverage

blib/lib/Path/IsDev.pm
Criterion Covered Total %
statement 23 25 92.0
branch 1 4 25.0
condition 2 3 66.6
subroutine 7 8 87.5
pod 1 1 100.0
total 34 41 82.9


line stmt bran cond sub pod time code
1 12     12   40154 use 5.008; # utf8
  12         28  
2 12     12   54 use strict;
  12         16  
  12         229  
3 12     12   36 use warnings;
  12         14  
  12         299  
4 12     12   4635 use utf8;
  12         111  
  12         57  
5              
6             package Path::IsDev;
7              
8             our $VERSION = '1.001003';
9              
10             # ABSTRACT: Determine if a given Path resembles a development source tree
11              
12             our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
13              
14              
15              
16              
17              
18              
19              
20              
21              
22              
23              
24              
25 12     12   5664 use Sub::Exporter -setup => { exports => [ is_dev => \&_build_is_dev, ], };
  12         86497  
  12         113  
26              
27             our $ENV_KEY_DEBUG = 'PATH_ISDEV_DEBUG';
28              
29             our $DEBUG = ( exists $ENV{$ENV_KEY_DEBUG} ? $ENV{$ENV_KEY_DEBUG} : undef );
30              
31              
32              
33              
34              
35              
36              
37              
38              
39              
40              
41             sub debug {
42 0 0   0 1 0 return unless $DEBUG;
43 0         0 return *STDERR->printf( qq{[Path::IsDev] %s\n}, shift );
44             }
45              
46             sub _build_is_dev {
47 21     21   6220 my ( undef, undef, $arg ) = @_;
48              
49 21         21 my $isdev_object;
50             return sub {
51 10     10   4150 my ($path) = @_;
52 10   66     42 $isdev_object ||= do {
53 9         3683 require Path::IsDev::Object;
54 9 50       19 Path::IsDev::Object->new( %{ $arg || {} } );
  9         81  
55             };
56 10         227 return $isdev_object->matches($path);
57 21         80 };
58             }
59              
60              
61              
62              
63              
64              
65              
66              
67              
68              
69              
70              
71              
72              
73              
74              
75              
76              
77              
78              
79              
80              
81              
82              
83             *is_dev = _build_is_dev( 'Path::IsDev', 'is_dev', {} );
84              
85             1;
86              
87             __END__