1 package DBIx::Class::CDBICompat::ColumnCase;
6 use base qw/DBIx::Class/;
8 sub _register_column_group {
9 my ($class, $group, @cols) = @_;
10 return $class->next::method($group => map lc, @cols);
13 sub _register_columns {
14 my ($class, @cols) = @_;
15 return $class->next::method(map lc, @cols);
19 my ($class, @cols) = @_;
20 $class->table_instance->add_columns(map lc, @cols);
21 $class->_mk_column_accessors(@cols);
25 my ($class, $col, @rest) = @_;
26 $class->next::method(lc($col), @rest);
27 $class->mk_group_accessors('inflated_column' => $col);
32 my ($class, $rel, $f_class, $f_key, @rest) = @_;
33 return $class->next::method($rel, $f_class, ( ref($f_key) ?
38 sub get_inflated_column {
39 my ($class, $get, @rest) = @_;
40 return $class->next::method(lc($get), @rest);
43 sub store_inflated_column {
44 my ($class, $set, @rest) = @_;
45 return $class->next::method(lc($set), @rest);
48 sub set_inflated_column {
49 my ($class, $set, @rest) = @_;
50 return $class->next::method(lc($set), @rest);
54 my ($class, $get, @rest) = @_;
55 return $class->next::method(lc($get), @rest);
59 my ($class, $set, @rest) = @_;
60 return $class->next::method(lc($set), @rest);
64 my ($class, $set, @rest) = @_;
65 return $class->next::method(lc($set), @rest);
69 my ($class, $col) = @_;
70 return $class->next::method(lc($col));
73 sub _mk_group_accessors {
74 my ($class, $type, $group, @fields) = @_;
75 #warn join(', ', map { ref $_ ? (@$_) : ($_) } @fields);
78 my ($acc, $field) = ref $_ ? @$_ : ($_, $_);
79 #warn "$acc ".lc($acc)." $field";
80 next if defined &{"${class}::${acc}"};
81 push(@extra, [ lc $acc => $field ]);
83 return $class->next::method($type, $group,
88 my ($class, $attrs, $key, @rest) = @_;
89 return $class->next::method($attrs, lc($key), @rest);
93 my ($class, $attrs, $key, @rest) = @_;
94 return $class->next::method($attrs, lc($key), @rest);
98 my ($class, $attrs, @rest) = @_;
100 $att{lc $_} = $attrs->{$_} for keys %$attrs;
101 return $class->next::method(\%att, @rest);