has_a works
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / ColumnCase.pm
CommitLineData
ea2e61bf 1package DBIx::Class::CDBICompat::ColumnCase;
2
3use strict;
4use warnings;
5use NEXT;
6
7sub _register_column_group {
8 my ($class, $group, @cols) = @_;
12bbb339 9 return $class->NEXT::ACTUAL::_register_column_group($group => map lc, @cols);
ea2e61bf 10}
11
12sub _register_columns {
13 my ($class, @cols) = @_;
12bbb339 14 return $class->NEXT::ACTUAL::_register_columns(map lc, @cols);
15}
16
17sub has_a {
18 my ($class, $col, @rest) = @_;
19 $class->NEXT::ACTUAL::has_a(lc($col), @rest);
20 $class->delete_accessor($col);
21 $class->mk_group_accessors('has_a' => $col);
22 return 1;
23}
24
25sub get_has_a {
26 my ($class, $get, @rest) = @_;
27 return $class->NEXT::ACTUAL::get_has_a(lc($get), @rest);
28}
29
30sub store_has_a {
31 my ($class, $set, @rest) = @_;
32 return $class->NEXT::ACTUAL::store_has_a(lc($set), @rest);
33}
34
35sub set_has_a {
36 my ($class, $set, @rest) = @_;
37 return $class->NEXT::ACTUAL::set_has_a(lc($set), @rest);
ea2e61bf 38}
39
510ca912 40sub get_column {
ea2e61bf 41 my ($class, $get, @rest) = @_;
12bbb339 42 return $class->NEXT::ACTUAL::get_column(lc($get), @rest);
ea2e61bf 43}
44
510ca912 45sub set_column {
ea2e61bf 46 my ($class, $set, @rest) = @_;
12bbb339 47 return $class->NEXT::ACTUAL::set_column(lc($set), @rest);
510ca912 48}
49
50sub store_column {
51 my ($class, $set, @rest) = @_;
12bbb339 52 return $class->NEXT::ACTUAL::store_column(lc($set), @rest);
ea2e61bf 53}
54
55sub find_column {
56 my ($class, $col) = @_;
12bbb339 57 return $class->NEXT::ACTUAL::find_column(lc($col));
ea2e61bf 58}
59
510ca912 60sub _mk_group_accessors {
61 my ($class, $type, $group, @fields) = @_;
ea2e61bf 62 my %fields;
63 $fields{$_} = 1 for @fields,
64 map lc, grep { !defined &{"${class}::${_}"} } @fields;
12bbb339 65 return $class->NEXT::ACTUAL::_mk_group_accessors($type, $group, keys %fields);
66}
67
68sub _cond_key {
69 my ($class, $attrs, $key, @rest) = @_;
70 return $class->NEXT::ACTUAL::_cond_key($attrs, lc($key), @rest);
71}
72
73sub _cond_value {
74 my ($class, $attrs, $key, @rest) = @_;
75 return $class->NEXT::ACTUAL::_cond_value($attrs, lc($key), @rest);
76}
77
78sub new {
79 my ($class, $attrs, @rest) = @_;
80 my %att;
81 $att{lc $_} = $attrs->{$_} for keys %$attrs;
82 return $class->NEXT::ACTUAL::new(\%att, @rest);
ea2e61bf 83}
84
851;