File Coverage

blib/lib/Data/TableReader/Iterator.pm
Criterion Covered Total %
statement 22 25 88.0
branch 1 2 50.0
condition 1 3 33.3
subroutine 9 12 75.0
pod 5 5 100.0
total 38 47 80.8


line stmt bran cond sub pod time code
1             package Data::TableReader::Iterator;
2             $Data::TableReader::Iterator::VERSION = '0.009';
3 7     7   43 use strict;
  7         12  
  7         181  
4 7     7   58 use warnings;
  7         33  
  7         168  
5 7     7   33 use Try::Tiny;
  7         11  
  7         333  
6 7     7   37 use Carp;
  7         18  
  7         373  
7 7     7   47 use Scalar::Util 'refaddr';
  7         13  
  7         1801  
8              
9             # ABSTRACT: Base class for iterators (blessed coderefs)
10              
11              
12             our %_iterator_fields;
13             sub new {
14 46     46 1 112 my ($class, $sub, $fields)= @_;
15 46 50 33     217 ref $sub eq 'CODE' and ref $fields eq 'HASH'
16             or die "Expected new(CODEREF, HASHREF)";
17 46         186 $_iterator_fields{refaddr $sub}= $fields;
18 46         195 return bless $sub, $class;
19             }
20              
21             sub _fields {
22 59     59   200 $_iterator_fields{refaddr shift};
23             }
24              
25             sub DESTROY {
26 46     46   12442 delete $_iterator_fields{refaddr shift};
27             }
28              
29             sub progress {
30 0     0 1 0 undef;
31             }
32              
33             sub tell {
34 0     0 1 0 undef;
35             }
36              
37             sub seek {
38 0     0 1 0 undef;
39             }
40              
41             sub next_dataset {
42 11     11 1 33 undef;
43             }
44              
45             1;
46              
47             __END__