X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FColumnCase.pm;h=d6f527c2f55b878dcda9b29414a822471768b3ea;hb=12bbb33986a29dc27dd3e2b9d082a87f50124ec1;hp=e5c23d87af18ba9ac0e5d8bfd561f47228e45d54;hpb=ef29a097f034c0e4043011e7dda097a791d39c7d;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/ColumnCase.pm b/lib/DBIx/Class/CDBICompat/ColumnCase.pm index e5c23d8..d6f527c 100644 --- a/lib/DBIx/Class/CDBICompat/ColumnCase.pm +++ b/lib/DBIx/Class/CDBICompat/ColumnCase.pm @@ -6,32 +6,55 @@ use NEXT; sub _register_column_group { my ($class, $group, @cols) = @_; - return $class->NEXT::_register_column_group($group => map lc, @cols); + return $class->NEXT::ACTUAL::_register_column_group($group => map lc, @cols); } sub _register_columns { my ($class, @cols) = @_; - return $class->NEXT::_register_columns(map lc, @cols); + return $class->NEXT::ACTUAL::_register_columns(map lc, @cols); +} + +sub has_a { + my ($class, $col, @rest) = @_; + $class->NEXT::ACTUAL::has_a(lc($col), @rest); + $class->delete_accessor($col); + $class->mk_group_accessors('has_a' => $col); + return 1; +} + +sub get_has_a { + my ($class, $get, @rest) = @_; + return $class->NEXT::ACTUAL::get_has_a(lc($get), @rest); +} + +sub store_has_a { + my ($class, $set, @rest) = @_; + return $class->NEXT::ACTUAL::store_has_a(lc($set), @rest); +} + +sub set_has_a { + my ($class, $set, @rest) = @_; + return $class->NEXT::ACTUAL::set_has_a(lc($set), @rest); } sub get_column { my ($class, $get, @rest) = @_; - return $class->NEXT::get_column(lc $get, @rest); + return $class->NEXT::ACTUAL::get_column(lc($get), @rest); } sub set_column { my ($class, $set, @rest) = @_; - return $class->NEXT::set_column(lc $set, @rest); + return $class->NEXT::ACTUAL::set_column(lc($set), @rest); } sub store_column { my ($class, $set, @rest) = @_; - return $class->NEXT::store_column(lc $set, @rest); + return $class->NEXT::ACTUAL::store_column(lc($set), @rest); } sub find_column { my ($class, $col) = @_; - return $class->NEXT::find_column(lc $col); + return $class->NEXT::ACTUAL::find_column(lc($col)); } sub _mk_group_accessors { @@ -39,7 +62,24 @@ sub _mk_group_accessors { my %fields; $fields{$_} = 1 for @fields, map lc, grep { !defined &{"${class}::${_}"} } @fields; - return $class->NEXT::_mk_group_accessors($type, $group, keys %fields); + return $class->NEXT::ACTUAL::_mk_group_accessors($type, $group, keys %fields); +} + +sub _cond_key { + my ($class, $attrs, $key, @rest) = @_; + return $class->NEXT::ACTUAL::_cond_key($attrs, lc($key), @rest); +} + +sub _cond_value { + my ($class, $attrs, $key, @rest) = @_; + return $class->NEXT::ACTUAL::_cond_value($attrs, lc($key), @rest); +} + +sub new { + my ($class, $attrs, @rest) = @_; + my %att; + $att{lc $_} = $attrs->{$_} for keys %$attrs; + return $class->NEXT::ACTUAL::new(\%att, @rest); } 1;