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, $col, @rest) = @_;
20 $class->next::method(lc($col), @rest);
21 $class->mk_group_accessors('inflated_column' => $col);
26 my ($class, $rel, $f_class, $f_key, @rest) = @_;
27 return $class->next::method($rel, $f_class, ( ref($f_key) ?
32 sub get_inflated_column {
33 my ($class, $get, @rest) = @_;
34 return $class->next::method(lc($get), @rest);
37 sub store_inflated_column {
38 my ($class, $set, @rest) = @_;
39 return $class->next::method(lc($set), @rest);
42 sub set_inflated_column {
43 my ($class, $set, @rest) = @_;
44 return $class->next::method(lc($set), @rest);
48 my ($class, $get, @rest) = @_;
49 return $class->next::method(lc($get), @rest);
53 my ($class, $set, @rest) = @_;
54 return $class->next::method(lc($set), @rest);
58 my ($class, $set, @rest) = @_;
59 return $class->next::method(lc($set), @rest);
63 my ($class, $col) = @_;
64 return $class->next::method(lc($col));
67 sub _mk_group_accessors {
68 my ($class, $type, $group, @fields) = @_;
69 #warn join(', ', map { ref $_ ? (@$_) : ($_) } @fields);
72 my ($acc, $field) = ref $_ ? @$_ : ($_, $_);
73 #warn "$acc ".lc($acc)." $field";
74 next if defined &{"${class}::${acc}"};
75 push(@extra, [ lc $acc => $field ]);
77 return $class->next::method($type, $group,
82 my ($class, $attrs, $key, @rest) = @_;
83 return $class->next::method($attrs, lc($key), @rest);
87 my ($class, $attrs, $key, @rest) = @_;
88 return $class->next::method($attrs, lc($key), @rest);
92 my ($class, $attrs, @rest) = @_;
94 $att{lc $_} = $attrs->{$_} for keys %$attrs;
95 return $class->next::method(\%att, @rest);