File Coverage

blib/lib/App/Sets/Iterator.pm
Criterion Covered Total %
statement 16 16 100.0
branch 2 2 100.0
condition n/a
subroutine 6 6 100.0
pod 0 4 0.0
total 24 28 85.7


line stmt bran cond sub pod time code
1             package App::Sets::Iterator;
2             $App::Sets::Iterator::VERSION = '0.976';
3              
4              
5 3     3   20 use strict;
  3         3  
  3         88  
6 3     3   11 use warnings;
  3         5  
  3         408  
7              
8             # ABSTRACT: convenience iterator
9              
10             sub new {
11 192     192 0 341 my ($package, $it) = @_;
12 192         1389 return bless {it => $it}, $package;
13             }
14              
15             sub head {
16 3176     3176 0 2419 my ($self) = @_;
17 3176 100       7136 return exists $self->{head} ? $self->{head} : $self->next();
18             }
19              
20             sub next {
21 2196     2196 0 1770 my ($self) = @_;
22 2196         3353 return $self->{head} = $self->{it}->();
23             }
24              
25             sub drop {
26 2004     2004 0 1672 my ($self) = @_;
27 2004         2140 my $retval = $self->head();
28 2004         2345 $self->next();
29 2004         4392 return $retval;
30             } ## end sub drop
31              
32             1;
33              
34             __END__