File Coverage

blib/lib/Enbld/Target/Attribute/PatchFiles.pm
Criterion Covered Total %
statement 28 28 100.0
branch 4 4 100.0
condition n/a
subroutine 6 6 100.0
pod 0 2 0.0
total 38 40 95.0


line stmt bran cond sub pod time code
1             package Enbld::Target::Attribute::PatchFiles;
2              
3 2     2   5031 use strict;
  2         3  
  2         71  
4 2     2   8 use warnings;
  2         3  
  2         58  
5              
6 2     2   7 use Carp;
  2         8  
  2         151  
7              
8 2     2   398 use parent qw/Enbld::Target::AttributeExtension::URL/;
  2         272  
  2         16  
9              
10             sub validate {
11 57     57 0 82 my ( $self, $value ) = @_;
12              
13 57 100       149 unless ( ref( $value ) eq 'ARRAY' ) {
14 2         2 my $type = ref( $self );
15 2         6 $type =~ s/.*:://;
16              
17 2         2 my $err = "Attribute 'PatchFiles' isn't ARRAY reference";
18 2         425 require Enbld::Exception;
19 2         8 croak( Enbld::Exception->new( $err, $value ));
20             }
21              
22 55         67 foreach my $string ( @{ $value } ) {
  55         147  
23 53         167 $self->SUPER::validate( $string );
24             }
25              
26 54         64 return $value;
27             }
28              
29             sub to_value {
30 66     66 0 71 my $self = shift;
31              
32 66         212 my $value = $self->evaluate;
33              
34 66 100       175 return [] if ( ! defined $value );
35              
36 57         109 $self->validate( $value );
37              
38 54         225 return $value;
39             }
40              
41             1;