File Coverage

blib/lib/Data/Model/Driver/Logic.pm
Criterion Covered Total %
statement 27 29 93.1
branch 2 4 50.0
condition n/a
subroutine 6 6 100.0
pod 0 3 0.0
total 35 42 83.3


line stmt bran cond sub pod time code
1             package Data::Model::Driver::Logic;
2 1     1   777 use strict;
  1         3  
  1         39  
3 1     1   6 use warnings;
  1         2  
  1         36  
4 1     1   6 use base 'Data::Model::Driver';
  1         44  
  1         624  
5              
6             sub get {
7 4     4 0 14 my $self = shift;
8 4         4 my $schema = shift;
9 4         8 my $obj = $schema->{schema_obj};
10              
11 4         14 my $method = 'get_' . $schema->model;
12 4         21 my @ret = $obj->$method($schema, @_);
13 4         52 $ret[1] = +{};
14 4 50       18 if (ref($ret[0]) eq 'CODE') {
    50          
15 0         0 return @ret;
16             } elsif (ref($ret[0]) eq 'ARRAY') {
17 0         0 return $self->_generate_result_iterator($ret[0]), $ret[1];
18             } else {
19 4         23 return $self->_generate_result_iterator([ $ret[0] ]), $ret[1];
20             }
21             }
22              
23             sub set {
24 2     2 0 3 my $self = shift;
25 2         4 my $schema = shift;
26 2         90 my $obj = $schema->{schema_obj};
27 2         6 my $method = 'set_' . $schema->model;
28 2         11 return $obj->$method($schema, @_);
29             }
30              
31             sub delete {
32 4     4 0 5 my $self = shift;
33 4         4 my $schema = shift;
34 4         7 my $obj = $schema->{schema_obj};
35 4         10 my $method = 'delete_' . $schema->model;
36 4         17 return $obj->$method($schema, @_);
37             }
38              
39             1;