File Coverage

blib/lib/Code/TidyAll/Role/HasIgnore.pm
Criterion Covered Total %
statement 28 29 96.5
branch 1 2 50.0
condition n/a
subroutine 9 9 100.0
pod n/a
total 38 40 95.0


line stmt bran cond sub pod time code
1              
2             use strict;
3 27     27   120521 use warnings;
  27         96  
  27         818  
4 27     27   163  
  27         62  
  27         754  
5             use Code::TidyAll::Util::Zglob qw(zglobs_to_regex);
6 27     27   161 use Specio::Library::Builtins;
  27         61  
  27         1278  
7 27     27   141 use Specio::Library::String;
  27         56  
  27         677  
8 27     27   213161  
  27         116  
  27         230  
9             use Moo::Role;
10 27     27   48627  
  27         75  
  27         209  
11             our $VERSION = '0.81';
12              
13             has ignore => (
14             is => 'ro',
15             isa => t( 'ArrayRef', of => t('NonEmptyStr') ),
16             default => sub { [] },
17             );
18              
19             has ignore_regex => (
20             is => 'lazy',
21             isa => t('RegexpRef'),
22             );
23              
24             has ignores => (
25             is => 'lazy',
26             isa => t( 'ArrayRef', of => t('NonEmptyStr') ),
27             );
28              
29             has select => (
30             is => 'ro',
31             isa => t( 'ArrayRef', of => t('NonEmptyStr') ),
32             default => sub { [] },
33             );
34              
35             my ($self) = @_;
36             return $self->_parse_zglob_list( $self->ignore );
37 133     133   1200 }
38 133         463  
39             my ( $self, $zglobs ) = @_;
40             if ( my ($bad_zglob) = ( grep {m{^/}} @{$zglobs} ) ) {
41             die qq{zglob '$bad_zglob' should not begin with slash};
42 207     207   918 }
43 207 50       292 return $zglobs;
  103         487  
  207         515  
44 0         0 }
45              
46 207         3112 my ($self) = @_;
47             return zglobs_to_regex( @{ $self->ignores } );
48             }
49              
50 87     87   5742 1;
51 87         131  
  87         1237  
52             # ABSTRACT: A role for any class that has a list of ignored paths specified in zglob syntax
53              
54              
55             =pod
56              
57             =encoding UTF-8
58              
59             =head1 NAME
60              
61             Code::TidyAll::Role::HasIgnore - A role for any class that has a list of ignored paths specified in zglob syntax
62              
63             =head1 VERSION
64              
65             version 0.81
66              
67             =head1 SUPPORT
68              
69             Bugs may be submitted at L<https://github.com/houseabsolute/perl-code-tidyall/issues>.
70              
71             =head1 SOURCE
72              
73             The source code repository for Code-TidyAll can be found at L<https://github.com/houseabsolute/perl-code-tidyall>.
74              
75             =head1 AUTHORS
76              
77             =over 4
78              
79             =item *
80              
81             Jonathan Swartz <swartz@pobox.com>
82              
83             =item *
84              
85             Dave Rolsky <autarch@urth.org>
86              
87             =back
88              
89             =head1 COPYRIGHT AND LICENSE
90              
91             This software is copyright (c) 2011 - 2022 by Jonathan Swartz.
92              
93             This is free software; you can redistribute it and/or modify it under
94             the same terms as the Perl 5 programming language system itself.
95              
96             The full text of the license can be found in the
97             F<LICENSE> file included with this distribution.
98              
99             =cut