Nuked 08-inheritcols.t since it's duplicated in 01-columns.t
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / ColumnCase.pm
CommitLineData
ea2e61bf 1package DBIx::Class::CDBICompat::ColumnCase;
2
3use strict;
4use warnings;
75a23b3e 5
6use base qw/DBIx::Class/;
ea2e61bf 7
8sub _register_column_group {
9 my ($class, $group, @cols) = @_;
147dd158 10 return $class->next::method($group => map lc, @cols);
ea2e61bf 11}
12
13sub _register_columns {
14 my ($class, @cols) = @_;
147dd158 15 return $class->next::method(map lc, @cols);
12bbb339 16}
17
18sub has_a {
19 my ($class, $col, @rest) = @_;
147dd158 20 $class->next::method(lc($col), @rest);
9f300b1b 21 $class->mk_group_accessors('inflated_column' => $col);
12bbb339 22 return 1;
23}
24
b8e1e21f 25sub has_many {
26 my ($class, $rel, $f_class, $f_key, @rest) = @_;
147dd158 27 return $class->next::method($rel, $f_class, ( ref($f_key) ?
be7fff92 28 $f_key :
29 lc($f_key) ), @rest);
b8e1e21f 30}
31
9f300b1b 32sub get_inflated_column {
12bbb339 33 my ($class, $get, @rest) = @_;
147dd158 34 return $class->next::method(lc($get), @rest);
12bbb339 35}
36
9f300b1b 37sub store_inflated_column {
12bbb339 38 my ($class, $set, @rest) = @_;
147dd158 39 return $class->next::method(lc($set), @rest);
12bbb339 40}
41
9f300b1b 42sub set_inflated_column {
12bbb339 43 my ($class, $set, @rest) = @_;
147dd158 44 return $class->next::method(lc($set), @rest);
ea2e61bf 45}
46
510ca912 47sub get_column {
ea2e61bf 48 my ($class, $get, @rest) = @_;
147dd158 49 return $class->next::method(lc($get), @rest);
ea2e61bf 50}
51
510ca912 52sub set_column {
ea2e61bf 53 my ($class, $set, @rest) = @_;
147dd158 54 return $class->next::method(lc($set), @rest);
510ca912 55}
56
57sub store_column {
58 my ($class, $set, @rest) = @_;
147dd158 59 return $class->next::method(lc($set), @rest);
ea2e61bf 60}
61
62sub find_column {
63 my ($class, $col) = @_;
147dd158 64 return $class->next::method(lc($col));
ea2e61bf 65}
66
510ca912 67sub _mk_group_accessors {
68 my ($class, $type, $group, @fields) = @_;
b8e1e21f 69 #warn join(', ', map { ref $_ ? (@$_) : ($_) } @fields);
70 my @extra;
71 foreach (@fields) {
72 my ($acc, $field) = ref $_ ? @$_ : ($_, $_);
c687b87e 73 #warn "$acc ".lc($acc)." $field";
b8e1e21f 74 next if defined &{"${class}::${acc}"};
75 push(@extra, [ lc $acc => $field ]);
76 }
147dd158 77 return $class->next::method($type, $group,
b8e1e21f 78 @fields, @extra);
12bbb339 79}
80
81sub _cond_key {
82 my ($class, $attrs, $key, @rest) = @_;
147dd158 83 return $class->next::method($attrs, lc($key), @rest);
12bbb339 84}
85
86sub _cond_value {
87 my ($class, $attrs, $key, @rest) = @_;
147dd158 88 return $class->next::method($attrs, lc($key), @rest);
12bbb339 89}
90
91sub new {
92 my ($class, $attrs, @rest) = @_;
93 my %att;
94 $att{lc $_} = $attrs->{$_} for keys %$attrs;
147dd158 95 return $class->next::method(\%att, @rest);
ea2e61bf 96}
97
981;