File Coverage

examples/lib/My.pm
Criterion Covered Total %
statement 38 38 100.0
branch n/a
condition n/a
subroutine 14 14 100.0
pod n/a
total 52 52 100.0


line stmt bran cond sub pod time code
1             package #hide
2             My; #our schema
3 2     2   105955 use parent qw(DBIx::Simple::Class);
  2         687  
  2         11  
4 2     2   137 use 5.10.1;
  2         6  
  2         92  
5 2     2   21 use strict;
  2         3  
  2         65  
6 2     2   11 use warnings;
  2         2  
  2         63  
7 2     2   1115 use utf8;
  2         20  
  2         13  
8              
9             #put common to all subclasses functionality here
10              
11             {
12              
13             package #hide
14             My::Collision;
15 2     2   93 use base qw(My);
  2         4  
  2         300  
16              
17 2     2   13 use constant TABLE => 'collision';
  2         4  
  2         224  
18 2     2   11 use constant COLUMNS => [qw(id data)];
  2         11  
  2         91  
19 2     2   10 use constant WHERE => {};
  2         4  
  2         98  
20 2     2   11 use constant ALIASES => {data => 'column_data'};
  2         4  
  2         194  
21              
22             #CHECKS are on columns
23 2         137 use constant CHECKS => {
24             id => {allow => qr/^\d+$/x},
25             data => {default => '',} #that's ok
26 2     2   10 };
  2         4  
27             }
28              
29             {
30              
31             package #hide
32             My::SiteUser;
33 2     2   9 use base qw(My::User);
  2         4  
  2         1194  
34             my $_CHECKS = My::User->CHECKS;
35             $_CHECKS->{group_id}{default} = 3;
36 11     11   112 sub CHECKS {$_CHECKS}
37 3     3   22 sub WHERE { {disabled => 0, group_id => $_CHECKS->{group_id}{default}} }
38              
39             #merge with parent $SQL
40             __PACKAGE__->SQL(GUEST_USER => 'SELECT * FROM users WHERE login_name = \'guest\'');
41             }
42              
43             1;