File Coverage

blib/lib/DBIx/Class/CDBICompat/Constructor.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package # hide from PAUSE
2             DBIx::Class::CDBICompat::Constructor;
3              
4 2     2   786 use strict;
  2         4  
  2         49  
5 2     2   9 use warnings;
  2         4  
  2         42  
6              
7 2     2   10 use base 'DBIx::Class::CDBICompat::ImaDBI';
  2         3  
  2         444  
8              
9             use Carp;
10             use DBIx::Class::_Util qw(quote_sub perlstring);
11             use namespace::clean;
12              
13             __PACKAGE__->set_sql(Retrieve => <<'');
14             SELECT __ESSENTIAL__
15             FROM __TABLE__
16             WHERE %s
17              
18             sub add_constructor {
19             my ($class, $method, $fragment) = @_;
20              
21             croak("constructors needs a name") unless $method;
22              
23             carp("$method already exists in $class") && return
24             if $class->can($method);
25              
26             quote_sub "${class}::${method}" => sprintf( <<'EOC', perlstring $fragment );
27             my $self = shift;
28             $self->sth_to_objects($self->sql_Retrieve(%s), \@_);
29             EOC
30             }
31              
32             1;