File Coverage

blib/lib/DBIx/Class/CDBICompat/ColumnCase.pm
Criterion Covered Total %
statement 12 48 25.0
branch 0 4 0.0
condition 0 2 0.0
subroutine 4 18 22.2
pod 0 11 0.0
total 16 83 19.2


line stmt bran cond sub pod time code
1             package # hide from PAUSE
2             DBIx::Class::CDBICompat::ColumnCase;
3              
4 2     2   772 use strict;
  2         5  
  2         46  
5 2     2   9 use warnings;
  2         4  
  2         42  
6              
7 2     2   9 use base 'DBIx::Class';
  2         4  
  2         310  
8              
9             sub _register_column_group {
10 0     0     my ($class, $group, @cols) = @_;
11 0           return $class->next::method($group => map lc, @cols);
12             }
13              
14             sub add_columns :DBIC_method_is_bypassable_resultsource_proxy {
15 0     0 0   my ($class, @cols) = @_;
16 0           return $class->result_source->add_columns(map lc, @cols);
17 2     2   13 }
  2         4  
  2         15  
18              
19             sub has_a {
20 0     0 0   my($self, $col, @rest) = @_;
21              
22 0           $self->_declare_has_a(lc $col, @rest);
23 0           $self->_mk_inflated_column_accessor($col);
24              
25 0           return 1;
26             }
27              
28             sub has_many {
29 0     0 0   my ($class, $rel, $f_class, $f_key, @rest) = @_;
30 0 0 0       return $class->next::method(
31             $rel,
32             $f_class,
33             (ref($f_key) ?
34             $f_key :
35             lc($f_key||'')
36             ),
37             @rest
38             );
39             }
40              
41             sub get_inflated_column {
42 0     0 0   my ($class, $get, @rest) = @_;
43 0           return $class->next::method(lc($get), @rest);
44             }
45              
46             sub store_inflated_column {
47 0     0 0   my ($class, $set, @rest) = @_;
48 0           return $class->next::method(lc($set), @rest);
49             }
50              
51             sub set_inflated_column {
52 0     0 0   my ($class, $set, @rest) = @_;
53 0           return $class->next::method(lc($set), @rest);
54             }
55              
56             sub get_column {
57 0     0 0   my ($class, $get, @rest) = @_;
58 0           return $class->next::method(lc($get), @rest);
59             }
60              
61             sub set_column {
62 0     0 0   my ($class, $set, @rest) = @_;
63 0           return $class->next::method(lc($set), @rest);
64             }
65              
66             sub store_column {
67 0     0 0   my ($class, $set, @rest) = @_;
68 0           return $class->next::method(lc($set), @rest);
69             }
70              
71             sub find_column {
72 0     0 0   my ($class, $col) = @_;
73 0           return $class->next::method(lc($col));
74             }
75              
76             # _build_query
77             #
78             # Build a query hash for find, et al. Overrides Retrieve::_build_query.
79              
80             sub _build_query {
81 0     0     my ($self, $query) = @_;
82              
83 0           my %new_query;
84 0           $new_query{lc $_} = $query->{$_} for keys %$query;
85              
86 0           return \%new_query;
87             }
88              
89             sub _deploy_accessor {
90 0     0     my($class, $name, $accessor) = @_;
91              
92 0 0         return if $class->_has_custom_accessor($name);
93              
94 0           $class->next::method(lc $name => $accessor);
95 0           return $class->next::method($name => $accessor);
96             }
97              
98              
99             sub new {
100 0     0 0   my ($class, $attrs, @rest) = @_;
101 0           my %att;
102 0           $att{lc $_} = $attrs->{$_} for keys %$attrs;
103 0           return $class->next::method(\%att, @rest);
104             }
105              
106             1;