File Coverage

blib/lib/Bootylicious/ArticleArchiveMonthly.pm
Criterion Covered Total %
statement 24 24 100.0
branch 4 4 100.0
condition 4 6 66.6
subroutine 8 8 100.0
pod 0 3 0.0
total 40 45 88.8


line stmt bran cond sub pod time code
1             package Bootylicious::ArticleArchiveMonthly;
2              
3 5     5   24 use strict;
  5         10  
  5         168  
4 5     5   22 use warnings;
  5         8  
  5         132  
5              
6 5     5   21 use base 'Bootylicious::ArticleArchiveBase';
  5         69  
  5         359  
7              
8 5     5   394 use Bootylicious::IteratorSearchable;
  5         6  
  5         36  
9              
10             __PACKAGE__->attr('month');
11             __PACKAGE__->attr('iterator');
12              
13             sub build {
14 2     2 0 6 my $self = shift;
15              
16             my $iterator = Bootylicious::IteratorSearchable->new($self->articles)->find_all(
17             sub {
18 4     4   21 my ($iterator, $article) = @_;
19              
20 4         19 my $year = $article->created->year;
21 4         276 my $month = $article->created->month;
22              
23 4 100 66     183 return if $self->year && $self->year != $year;
24 3 100 66     46 return if $self->month && $self->month != $month;
25              
26 2         33 return $article;
27             }
28 2         19 );
29              
30 2         35 $self->articles($iterator);
31              
32 2         23 return $self;
33             }
34              
35 1     1 0 16 sub is_monthly {1}
36 1     1 0 23 sub is_yearly {0}
37              
38             1;