Move has_a() code out of ColumnCase. That should be the last of it.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / ColumnCase.pm
CommitLineData
c0e7b4e5 1package # hide from PAUSE
2 DBIx::Class::CDBICompat::ColumnCase;
ea2e61bf 3
4use strict;
5use warnings;
75a23b3e 6
7use base qw/DBIx::Class/;
ea2e61bf 8
9sub _register_column_group {
10 my ($class, $group, @cols) = @_;
147dd158 11 return $class->next::method($group => map lc, @cols);
ea2e61bf 12}
13
ec77fadc 14sub add_columns {
15 my ($class, @cols) = @_;
c0eb27e8 16 return $class->result_source_instance->add_columns(map lc, @cols);
ec77fadc 17}
18
12bbb339 19sub has_a {
c79bd6e9 20 my($self, $col, @rest) = @_;
21
22 $self->_declare_has_a(lc $col, @rest);
23 $self->_mk_inflated_column_accessor($col);
24
25 return 1;
12bbb339 26}
27
b8e1e21f 28sub has_many {
29 my ($class, $rel, $f_class, $f_key, @rest) = @_;
75d07914 30 return $class->next::method($rel, $f_class, ( ref($f_key) ?
31 $f_key :
be7fff92 32 lc($f_key) ), @rest);
b8e1e21f 33}
34
9f300b1b 35sub get_inflated_column {
12bbb339 36 my ($class, $get, @rest) = @_;
147dd158 37 return $class->next::method(lc($get), @rest);
12bbb339 38}
39
9f300b1b 40sub store_inflated_column {
12bbb339 41 my ($class, $set, @rest) = @_;
147dd158 42 return $class->next::method(lc($set), @rest);
12bbb339 43}
44
9f300b1b 45sub set_inflated_column {
12bbb339 46 my ($class, $set, @rest) = @_;
147dd158 47 return $class->next::method(lc($set), @rest);
ea2e61bf 48}
49
510ca912 50sub get_column {
ea2e61bf 51 my ($class, $get, @rest) = @_;
147dd158 52 return $class->next::method(lc($get), @rest);
ea2e61bf 53}
54
510ca912 55sub set_column {
ea2e61bf 56 my ($class, $set, @rest) = @_;
147dd158 57 return $class->next::method(lc($set), @rest);
510ca912 58}
59
60sub store_column {
61 my ($class, $set, @rest) = @_;
147dd158 62 return $class->next::method(lc($set), @rest);
ea2e61bf 63}
64
65sub find_column {
66 my ($class, $col) = @_;
147dd158 67 return $class->next::method(lc($col));
ea2e61bf 68}
69
9387c904 70# _build_query
71#
72# Build a query hash for find, et al. Overrides Retrieve::_build_query.
73
74sub _build_query {
75 my ($self, $query) = @_;
76
77 my %new_query;
78 $new_query{lc $_} = $query->{$_} for keys %$query;
79
80 return \%new_query;
81}
82
8da46543 83sub _deploy_accessor {
84 my($class, $name, $accessor) = @_;
e60dc79f 85
8da46543 86 return if $class->_has_custom_accessor($name);
e60dc79f 87
8da46543 88 $class->next::method(lc $name => $accessor);
89 return $class->next::method($name => $accessor);
12bbb339 90}
91
8da46543 92
12bbb339 93sub new {
94 my ($class, $attrs, @rest) = @_;
95 my %att;
96 $att{lc $_} = $attrs->{$_} for keys %$attrs;
147dd158 97 return $class->next::method(\%att, @rest);
ea2e61bf 98}
99
1001;