File Coverage

blib/lib/Path/IsDev/NegativeHeuristic/PerlINC.pm
Criterion Covered Total %
statement 26 27 96.3
branch 2 4 50.0
condition n/a
subroutine 9 9 100.0
pod 2 2 100.0
total 39 42 92.8


line stmt bran cond sub pod time code
1 12     12   4866 use 5.008; # utf8
  12         30  
2 12     12   45 use strict;
  12         15  
  12         201  
3 12     12   33 use warnings;
  12         19  
  12         259  
4 12     12   491 use utf8;
  12         29  
  12         68  
5              
6             package Path::IsDev::NegativeHeuristic::PerlINC;
7              
8             our $VERSION = '1.001003';
9              
10             # ABSTRACT: White-list paths in Config.pm as being non-development roots.
11              
12             our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
13              
14             ## no critic (RequireArgUnpacking, ProhibitSubroutinePrototypes)
15             sub _uniq (@) {
16 16     16   29 my %seen = ();
17 16         23 return grep { not $seen{$_}++ } @_;
  48         163  
18             }
19              
20              
21              
22              
23              
24              
25              
26              
27              
28              
29              
30              
31              
32              
33              
34              
35 12     12   1597 use Role::Tiny::With qw( with );
  12         3476  
  12         680  
36 12     12   42 use Config;
  12         15  
  12         1786  
37              
38             with 'Path::IsDev::Role::NegativeHeuristic', 'Path::IsDev::Role::Matcher::FullPath::Is::Any';
39              
40              
41              
42              
43              
44              
45              
46              
47              
48             sub paths {
49 16     16 1 24 my @sources;
50 16         937 push @sources, $Config{archlibexp}, $Config{privlibexp}, $Config{sitelibexp}, $Config{vendorlibexp};
51 16 50       51 return _uniq grep { defined and length } @sources;
  64         207  
52             }
53              
54              
55              
56              
57              
58              
59              
60             sub excludes {
61 16     16 1 26 my ( $self, $result_object ) = @_;
62              
63 16 50       53 return unless $self->fullpath_is_any( $result_object, $self->paths );
64 0           return 1;
65             }
66              
67             1;
68              
69             __END__