File Coverage

blib/lib/ExtUtils/Builder/FileSet/Filter.pm
Criterion Covered Total %
statement 20 20 100.0
branch 3 4 75.0
condition n/a
subroutine 6 6 100.0
pod 0 2 0.0
total 29 32 90.6


line stmt bran cond sub pod time code
1             package ExtUtils::Builder::FileSet::Filter;
2             $ExtUtils::Builder::FileSet::Filter::VERSION = '0.020';
3 6     6   243408 use strict;
  6         13  
  6         244  
4 6     6   32 use warnings;
  6         14  
  6         399  
5              
6 6     6   39 use base 'ExtUtils::Builder::FileSet';
  6         12  
  6         1354  
7              
8 6     6   45 use Carp ();
  6         13  
  6         1300  
9              
10             sub new {
11 1     1 0 22 my ($class, %args) = @_;
12 1         11 my $self = $class->SUPER::new(%args);
13 1 50       9 $self->{condition} = $args{condition} or Carp::croak('No condition given');
14 1         4 return $self;
15             }
16              
17             sub add_input {
18 5     5 0 11 my ($self, $source) = @_;
19              
20 5 100       15 if ($self->{condition}->($source)) {
21 2         80 $self->_pass_on($source);
22             }
23 5         16 return $source;
24             }
25              
26             1;