File Coverage

lib/DBIx/Iterator.pm
Criterion Covered Total %
statement 23 23 100.0
branch 5 6 83.3
condition n/a
subroutine 8 8 100.0
pod 4 4 100.0
total 40 41 97.5


line stmt bran cond sub pod time code
1 3     3   574882 use strict;
  3         7  
  3         97  
2 3     3   15 use warnings;
  3         7  
  3         161  
3             package DBIx::Iterator;
4             {
5             $DBIx::Iterator::VERSION = '0.0.2';
6             }
7              
8             # ABSTRACT: Query your database using iterators and save memory
9              
10 3     3   17 use Carp qw(confess);
  3         4  
  3         168  
11 3     3   1221 use DBIx::Iterator::Statement;
  3         6  
  3         597  
12              
13              
14             sub new {
15 4     4 1 460783 my ($class, $dbh) = @_;
16 4 100       258 confess("Please specify a database handle") unless defined $dbh;
17 3         15 return bless {
18             'dbh' => $dbh,
19             }, $class;
20             }
21              
22              
23             sub dbh {
24 5     5 1 802 my ($self) = @_;
25 5         90 return $self->{'dbh'};
26             }
27              
28              
29             sub prepare {
30 5     5 1 1278 my ($self, $query) = @_;
31 5 100       193 confess("Please specify a database query") unless defined $query;
32 4         27 return DBIx::Iterator::Statement->new($query, $self);
33             }
34              
35              
36             sub query {
37 1     1 1 799 my ($self, $query, @placeholder_values) = @_;
38 1 50       4 confess("Please specify a query") unless defined $query;
39 1         5 return $self->prepare($query)->execute(@placeholder_values);
40             }
41              
42             1;
43              
44             __END__