File Coverage

blib/lib/Perl/Dist/Inno/Icon.pm
Criterion Covered Total %
statement 29 32 90.6
branch 5 8 62.5
condition 2 3 66.6
subroutine 10 10 100.0
pod 0 2 0.0
total 46 55 83.6


line stmt bran cond sub pod time code
1             package Perl::Dist::Inno::Icon;
2              
3 2     2   24103 use 5.006;
  2         7  
  2         73  
4 2     2   12 use strict;
  2         5  
  2         129  
5 2     2   11 use warnings;
  2         4  
  2         67  
6 2     2   11 use Carp qw{ croak };
  2         4  
  2         130  
7 2     2   766 use Params::Util qw{ _IDENTIFIER _STRING };
  2         5516  
  2         119  
8              
9 2     2   11 use vars qw{$VERSION};
  2         11  
  2         96  
10             BEGIN {
11 2     2   39 $VERSION = '1.16';
12             }
13              
14 2         19 use Object::Tiny qw{
15             name
16             filename
17             working_dir
18 2     2   815 };
  2         326  
19              
20              
21              
22              
23              
24             #####################################################################
25             # Constructors
26              
27             sub new {
28 2     2 0 29 my $self = shift->SUPER::new(@_);
29              
30             # Check params
31 2 50       68 unless ( _STRING($self->name) ) {
32 0         0 croak("Missing or invalid name param");
33             }
34 2 50       124 unless ( _STRING($self->filename) ) {
35 0         0 croak("Missing or invalid filename param");
36             }
37 2 50 66     55 if ( defined $self->working_dir and ! _STRING($self->working_dir) ) {
38 0         0 croak("Invalid working_dir param");
39             }
40              
41 2         45 return $self;
42             }
43              
44              
45              
46              
47              
48             #####################################################################
49             # Main Methods
50              
51             sub as_string {
52 2     2 0 2868 my $self = shift;
53 2 100       53 return join( '; ',
54             "Name: \"" . $self->name . "\"",
55             "Filename: \"" . $self->filename . "\"",
56             defined($self->working_dir)
57             ? ("WorkingDir: \"" . $self->working_dir . "\"")
58             : (),
59             );
60             }
61              
62             1;