File Coverage

blib/lib/Bootylicious/PingbackIteratorFinder.pm
Criterion Covered Total %
statement 22 22 100.0
branch 3 4 75.0
condition n/a
subroutine 7 7 100.0
pod 1 2 50.0
total 33 35 94.2


line stmt bran cond sub pod time code
1             package Bootylicious::PingbackIteratorFinder;
2              
3 14     14   842 use strict;
  14         21  
  14         496  
4 14     14   67 use warnings;
  14         58  
  14         432  
5              
6 14     14   56 use base 'Mojo::Base';
  14         21  
  14         1148  
7              
8             __PACKAGE__->attr('iterator');
9              
10 14     14   3738 use Bootylicious::IteratorSearchable;
  14         22  
  14         132  
11              
12             sub new {
13 7     7 1 2261 my $self = shift->SUPER::new(@_);
14              
15 7 50       78 Carp::croak q/Iterator is a required parameter/ unless $self->iterator;
16              
17 7         81 return $self;
18             }
19              
20             sub find {
21 8     8 0 26 my $self = shift;
22 8         17 my ($source_uri) = @_;
23              
24 8         27 my $iterator = Bootylicious::IteratorSearchable->new($self->iterator);
25              
26             return $iterator->find_first(
27             sub {
28 6     6   23 my ($iterator, $elem) = @_;
29              
30 6 100       16 return unless $elem->source_uri eq $source_uri;
31              
32 4         33 return $elem;
33             }
34 8         71 );
35             }
36              
37             1;