File Coverage

blib/lib/Template/Plugin/xkcd.pm
Criterion Covered Total %
statement 21 21 100.0
branch 2 2 100.0
condition 2 4 50.0
subroutine 6 6 100.0
pod 2 2 100.0
total 33 35 94.2


line stmt bran cond sub pod time code
1 2     2   90375 use strict;
  2         13  
  2         118  
2 2     2   11 use warnings;
  2         4  
  2         188  
3             package Template::Plugin::xkcd;
4             {
5             $Template::Plugin::xkcd::VERSION = '0.003';
6             }
7             # ABSTRACT: WWW::xkcd plugin for Template::Toolkit
8              
9 2     2   11 use base 'Template::Plugin';
  2         5  
  2         1831  
10 2     2   8124 use WWW::xkcd;
  2         322993  
  2         444  
11              
12             sub new {
13 3     3 1 6834 my $class = shift;
14 3         7 my $context = shift;
15              
16 3         24 my $self = bless {
17             xkcd => WWW::xkcd->new,
18             }, $class;
19             }
20              
21             sub comic {
22 4     4 1 1050 my $self = shift;
23 4         11 my $num = shift;
24 4 100       42 my $meta = $self->{'xkcd'}->fetch_metadata( $num ? $num : () );
25              
26             # return HTML
27 4   50     634524 my $img = $meta->{'img'} || '';
28 4   50     27 my $alt = $meta->{'alt'} || '';
29              
30 4         78 return qq{$alt};
31             }
32              
33             1;
34              
35              
36              
37             =pod
38              
39             =head1 NAME
40              
41             Template::Plugin::xkcd - WWW::xkcd plugin for Template::Toolkit
42              
43             =head1 VERSION
44              
45             version 0.003
46              
47             =head1 SYNOPSIS
48              
49             # in your template
50             [% USE xkcd %]
51              
52            

xkcd comics!

53              
54            

Today's xkcd comic: [% xkcd.comic %]

55              
56            

The 20th comic: [% xkcd.comic(20) %]

57              
58             =head1 DESCRIPTION
59              
60             A L