File Coverage

blib/lib/JSAN/Librarian/Book.pm
Criterion Covered Total %
statement 20 20 100.0
branch 2 4 50.0
condition n/a
subroutine 7 7 100.0
pod 1 2 50.0
total 30 33 90.9


line stmt bran cond sub pod time code
1             package JSAN::Librarian::Book;
2              
3             # Implements a JavaScript::Librarian::Book. In our case, the id IS the path
4              
5 2     2   2355 use strict;
  2         5  
  2         100  
6 2     2   1397 use Params::Util '_HASH0';
  2         6767  
  2         163  
7 2     2   7899 use JavaScript::Librarian::Book;
  2         22195  
  2         65  
8              
9 2     2   18 use vars qw{$VERSION @ISA};
  2         3  
  2         115  
10             BEGIN {
11 2     2   5 $VERSION = '0.03';
12 2         251 @ISA = 'JavaScript::Librarian::Book';
13             }
14              
15              
16              
17              
18              
19             #####################################################################
20             # Constructor
21              
22             sub new {
23 3     3 1 3 my $class = shift;
24 3 50       9 my $path = shift or return undef;
25 3 50       10 my $deps = _HASH0(shift) or return undef;
26              
27             # Create the object
28 3         13 my $self = bless {
29             id => $path,
30             depends => [ keys %$deps ],
31             }, $class;
32              
33 3         9 $self;
34             }
35              
36 3     3 0 8324 sub path { $_[0]->{id} }
37              
38             1;