File Coverage

blib/lib/Web/Sitemap/Url.pm
Criterion Covered Total %
statement 9 36 25.0
branch 0 20 0.0
condition 0 7 0.0
subroutine 3 6 50.0
pod 0 2 0.0
total 12 71 16.9


",
line stmt bran cond sub pod time code
1             package Web::Sitemap::Url;
2              
3             our $VERSION = '0.012';
4              
5 1     1   5 use strict;
  1         1  
  1         25  
6 1     1   3 use warnings;
  1         1  
  1         21  
7 1     1   3 use utf8;
  1         1  
  1         6  
8              
9              
10             sub new {
11 0     0 0   my ($class, $data, %p) = @_;
12            
13             my $self = {
14             mobile => $p{mobile} || 0,
15 0   0       loc_prefix => $p{loc_prefix} || ''
      0        
16             };
17              
18 0 0         if (not ref $data) {
    0          
19 0           $self->{loc} = $data;
20             }
21             elsif (ref $data eq 'HASH') {
22 0 0         unless (defined $data->{loc}) {
23 0           die __PACKAGE__.'->new($data): not defined $data->{loc}';
24             }
25 0           $self = { %$self, %$data };
26             }
27             else {
28 0           die __PACKAGE__. '->new($data): $data must be scalar or hash ref';
29             }
30              
31 0           return bless $self, $class;
32             }
33              
34             sub to_xml_string {
35 0     0 0   my ($self, %p) = @_;
36              
37             return sprintf(
38             "\n%s%s%s%s%s",
39             $self->{loc_prefix},
40             $self->{loc},
41             $self->{changefreq} ? sprintf('%s', $self->{changefreq}) : '',
42 0 0         $self->{mobile} ? '' : '',
    0          
43             $self->_images_xml_string
44             );
45             }
46              
47             sub _images_xml_string {
48 0     0     my ($self) = @_;
49            
50 0           my $result = '';
51              
52 0 0         if (defined $self->{images}) {
53 0           my $i = 1;
54 0           for my $image (@{$self->{images}->{loc_list}}) {
  0            
55 0 0         my $loc = ref $image eq 'HASH' ? $image->{loc} : $image;
56            
57 0           my $caption = '';
58 0 0 0       if (ref $image eq 'HASH' and defined $image->{caption}) {
    0          
    0          
59 0           $caption = $image->{caption};
60             }
61             elsif (defined $self->{images}->{caption_format_simple}) {
62 0           $caption = $self->{images}->{caption_format_simple}. " $i";
63             }
64             elsif (defined $self->{images}->{caption_format}) {
65 0           $caption = &{$self->{images}->{caption_format}}($i);
  0            
66             }
67              
68 0           $result .= sprintf(
69             "\n%s
70             $loc, $caption
71             );
72 0           $i++;
73             }
74             }
75              
76 0           return $result;
77             }
78              
79             1