File Coverage

blib/lib/Enbld/Target/Attribute/Filename.pm
Criterion Covered Total %
statement 25 25 100.0
branch 4 4 100.0
condition n/a
subroutine 6 6 100.0
pod 0 1 0.0
total 35 36 97.2


line stmt bran cond sub pod time code
1             package Enbld::Target::Attribute::Filename;
2              
3 3     3   5917 use strict;
  3         3  
  3         74  
4 3     3   11 use warnings;
  3         3  
  3         57  
5              
6 3     3   8 use Carp;
  3         7  
  3         133  
7              
8 3     3   11 use parent qw/Enbld::Target::AttributeExtension::Word/;
  3         3  
  3         11  
9              
10             sub initialize {
11 54     54 0 101 my ( $self, $param ) = @_;
12              
13 54 100       139 if ( ! defined $param ) {
14             $self->{callback} = sub {
15 30     30   43 my $attributes = shift;
16              
17 30         108 my $filename = $attributes->ArchiveName . "-";
18 30         104 $filename .= $attributes->Version . '.' . $attributes->Extension;
19              
20 30         73 return $filename;
21 47         251 };
22              
23 47         97 return $self;
24             }
25              
26 7 100       14 if ( $param ) {
27 6         18 $self->SUPER::initialize( $param );
28 6         8 return $self;
29             }
30              
31 1         396 require Enbld::Exception;
32 1         3 croak( Enbld::Exception->new( "Attribute 'Filename' isn't defined" ) );
33             }
34              
35             1;