File Coverage

blib/lib/EBook/EPUB/Lite/Spine/Itemref.pm
Criterion Covered Total %
statement 9 10 90.0
branch 1 2 50.0
condition n/a
subroutine 3 3 100.0
pod 1 1 100.0
total 14 16 87.5


line stmt bran cond sub pod time code
1             # Copyright (c) 2009, 2010 Oleksandr Tymoshenko
2             # All rights reserved.
3              
4             # Redistribution and use in source and binary forms, with or without
5             # modification, are permitted provided that the following conditions
6             # are met:
7             # 1. Redistributions of source code must retain the above copyright
8             # notice, this list of conditions and the following disclaimer.
9             # 2. Redistributions in binary form must reproduce the above copyright
10             # notice, this list of conditions and the following disclaimer in the
11             # documentation and/or other materials provided with the distribution.
12              
13             # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14             # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15             # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16             # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17             # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18             # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19             # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20             # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21             # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22             # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23             # SUCH DAMAGE.
24             package EBook::EPUB::Lite::Spine::Itemref;
25 4     4   16 use Moo;
  4         6  
  4         20  
26 4     4   859 use Types::Standard qw/Bool Str/;
  4         8  
  4         22  
27             has linear => ( isa => Bool, is => 'rw', default => sub { 1 });
28             has idref => ( isa => Str, is => 'rw' );
29              
30             sub encode
31             {
32 4     4 1 6 my ($self, $writer) = @_;
33 4 50       38 if ($self->linear()) {
34 4         1027 $writer->emptyTag("itemref",
35             idref => $self->idref()
36             );
37             }
38             else {
39 0           $writer->emptyTag("itemref",
40             idref => $self->idref(),
41             linear => "no",
42             );
43             }
44             }
45              
46             1;
47              
48             __END__