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   32355 use parent qw(DBIx::Simple::Class);
  2         399  
  2         8  
4 2     2   84 use 5.10.1;
  2         3  
  2         54  
5 2     2   12 use strict;
  2         2  
  2         40  
6 2     2   5 use warnings;
  2         2  
  2         41  
7 2     2   556 use utf8;
  2         9  
  2         7  
8              
9             #put common to all subclasses functionality here
10              
11             {
12              
13             package #hide
14             My::Collision;
15 2     2   70 use base qw(My);
  2         2  
  2         153  
16              
17 2     2   8 use constant TABLE => 'collision';
  2         2  
  2         110  
18 2     2   6 use constant COLUMNS => [qw(id data)];
  2         2  
  2         59  
19 2     2   6 use constant WHERE => {};
  2         4  
  2         55  
20 2     2   6 use constant ALIASES => {data => 'column_data'};
  2         2  
  2         111  
21              
22             #CHECKS are on columns
23 2         92 use constant CHECKS => {
24             id => {allow => qr/^\d+$/x},
25             data => {default => '',} #that's ok
26 2     2   7 };
  2         1  
27             }
28              
29             {
30              
31             package #hide
32             My::SiteUser;
33 2     2   7 use base qw(My::User);
  2         2  
  2         549  
34             my $_CHECKS = My::User->CHECKS;
35             $_CHECKS->{group_id}{default} = 3;
36 11     11   59 sub CHECKS {$_CHECKS}
37 3     3   11 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;