File Coverage

blib/lib/SQL/Composer.pm
Criterion Covered Total %
statement 32 33 96.9
branch n/a
condition n/a
subroutine 13 14 92.8
pod 1 6 16.6
total 46 53 86.7


line stmt bran cond sub pod time code
1             package SQL::Composer;
2              
3 2     2   26723 use strict;
  2         3  
  2         45  
4 2     2   6 use warnings;
  2         1  
  2         68  
5              
6             our $VERSION = '0.18';
7              
8 2     2   6 use base 'Exporter';
  2         4  
  2         258  
9              
10             our @EXPORT_OK = qw(sql_select sql_insert sql_delete sql_update sql_upsert);
11             our %EXPORT_TAGS = (funcs => [qw(sql_select sql_insert sql_delete sql_update sql_upsert)]);
12              
13             require Carp;
14 2     2   667 use SQL::Composer::Select;
  2         2  
  2         44  
15 2     2   684 use SQL::Composer::Insert;
  2         2  
  2         42  
16 2     2   594 use SQL::Composer::Delete;
  2         2  
  2         43  
17 2     2   604 use SQL::Composer::Update;
  2         3  
  2         651  
18 2     2   578 use SQL::Composer::Upsert;
  2         3  
  2         321  
19              
20             $Carp::Internal{(__PACKAGE__)}++;
21             $Carp::Internal{"SQL::Composer::$_"}++ for qw/
22             Select
23             Insert
24             Delete
25             Update
26             Upsert
27             Expression
28             Join
29             Quoter
30             /;
31              
32             sub build {
33 5     5 1 491 my $class = shift;
34 5         8 my ($name) = shift;
35              
36 5         12 my $class_name = 'SQL::Composer::' . ucfirst($name);
37 5         31 return $class_name->new(@_);
38             }
39              
40 1     1 0 506 sub sql_select { build(__PACKAGE__, 'select', @_) }
41 1     1 0 1104 sub sql_insert { build(__PACKAGE__, 'insert', @_) }
42 1     1 0 889 sub sql_update { build(__PACKAGE__, 'update', @_) }
43 1     1 0 813 sub sql_delete { build(__PACKAGE__, 'delete', @_) }
44 0     0 0   sub sql_upsert { build(__PACKAGE__, 'upsert', @_) }
45              
46             1;
47             __END__