File Coverage

blib/lib/PITA/XML/Report.pm
Criterion Covered Total %
statement 37 39 94.8
branch 2 4 50.0
condition 2 2 100.0
subroutine 12 12 100.0
pod 2 4 50.0
total 55 61 90.1


line stmt bran cond sub pod time code
1             package PITA::XML::Report;
2              
3 10     10   163 use 5.005;
  10         32  
  10         526  
4 10     10   50 use strict;
  10         18  
  10         280  
5 10     10   47 use Carp ();
  10         17  
  10         223  
6 10     10   47 use Params::Util qw{ _INSTANCE _SET0 };
  10         19  
  10         507  
7 10     10   50 use PITA::XML::Storable ();
  10         13  
  10         228  
8              
9 10     10   43 use vars qw{$VERSION @ISA};
  10         18  
  10         1899  
10             BEGIN {
11 10     10   23 $VERSION = '0.52';
12 10         3812 @ISA = 'PITA::XML::Storable';
13             }
14              
15 3     3 0 24 sub xml_entity { 'report' }
16              
17              
18              
19              
20              
21             #####################################################################
22             # Constructor and Accessors
23              
24             sub new {
25 1     1 0 4 my $class = shift;
26 1         3 my $self = bless { @_ }, $class;
27 1         4 $self->_init;
28 1         4 $self;
29             }
30              
31             sub _init {
32 4     4   11 my $self = shift;
33              
34             # Zero or more installs
35 4   100     49 $self->{installs} ||= [];
36 4 50       138 unless ( _SET0( $self->{installs}, 'PITA::XML::Install') ) {
37 0         0 Carp::croak('Invalid installs');
38             }
39              
40 4         44 $self;
41             }
42              
43             sub add_install {
44 2     2 1 3812 my $self = shift;
45 2         18 my $install = _INSTANCE(shift, 'PITA::XML::Install');
46 2 50       7 unless ( $install ) {
47 0         0 Carp::croak('Did not provide a PITA::XML::Install object');
48             }
49              
50             # Add it to the array
51 2         3 push @{$self->{installs}}, $install;
  2         6  
52              
53 2         10 1;
54             }
55              
56             sub installs {
57 4     4 1 790 return (@{$_[0]->{installs}});
  4         26  
58             }
59              
60             1;
61              
62             __END__