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);
14 my ($class, @cols) = @_;
15 $class->mk_group_accessors(column => @cols);
16 $class->result_source_instance->add_columns(map lc, @cols);
20 my ($class, $col, @rest) = @_;
21 $class->next::method(lc($col), @rest);
22 $class->mk_group_accessors('inflated_column' => $col);
27 my ($class, $rel, $f_class, $f_key, @rest) = @_;
28 return $class->next::method($rel, $f_class, ( ref($f_key) ?
33 sub get_inflated_column {
34 my ($class, $get, @rest) = @_;
35 return $class->next::method(lc($get), @rest);
38 sub store_inflated_column {
39 my ($class, $set, @rest) = @_;
40 return $class->next::method(lc($set), @rest);
43 sub set_inflated_column {
44 my ($class, $set, @rest) = @_;
45 return $class->next::method(lc($set), @rest);
49 my ($class, $get, @rest) = @_;
50 return $class->next::method(lc($get), @rest);
54 my ($class, $set, @rest) = @_;
55 return $class->next::method(lc($set), @rest);
59 my ($class, $set, @rest) = @_;
60 return $class->next::method(lc($set), @rest);
64 my ($class, $col) = @_;
65 return $class->next::method(lc($col));
68 sub _mk_group_accessors {
69 my ($class, $type, $group, @fields) = @_;
70 #warn join(', ', map { ref $_ ? (@$_) : ($_) } @fields);
73 my ($acc, $field) = ref $_ ? @$_ : ($_, $_);
74 #warn "$acc ".lc($acc)." $field";
75 next if defined &{"${class}::${acc}"};
76 push(@extra, [ lc $acc => $field ]);
78 return $class->next::method($type, $group,
83 my ($class, $attrs, @rest) = @_;
85 $att{lc $_} = $attrs->{$_} for keys %$attrs;
86 return $class->next::method(\%att, @rest);