X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FColumnCase.pm;h=9be24ff4723ee3fff9cecd159bb2bfdca9e151a0;hb=14574c41f268be47c9b54270b9e10421d9ea656e;hp=8ef8080ff01567a979fffd69093419264e2ce18c;hpb=75a23b3e351f37ed420f182492d441ccbdca6569;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/CDBICompat/ColumnCase.pm b/lib/DBIx/Class/CDBICompat/ColumnCase.pm index 8ef8080..9be24ff 100644 --- a/lib/DBIx/Class/CDBICompat/ColumnCase.pm +++ b/lib/DBIx/Class/CDBICompat/ColumnCase.pm @@ -1,4 +1,5 @@ -package DBIx::Class::CDBICompat::ColumnCase; +package # hide from PAUSE + DBIx::Class::CDBICompat::ColumnCase; use strict; use warnings; @@ -10,9 +11,10 @@ sub _register_column_group { return $class->next::method($group => map lc, @cols); } -sub _register_columns { +sub add_columns { my ($class, @cols) = @_; - return $class->next::method(map lc, @cols); + $class->mk_group_accessors(column => @cols); + $class->result_source_instance->add_columns(map lc, @cols); } sub has_a { @@ -24,8 +26,8 @@ sub has_a { sub has_many { my ($class, $rel, $f_class, $f_key, @rest) = @_; - return $class->next::method($rel, $f_class, ( ref($f_key) ? - $f_key : + return $class->next::method($rel, $f_class, ( ref($f_key) ? + $f_key : lc($f_key) ), @rest); } @@ -64,6 +66,19 @@ sub find_column { return $class->next::method(lc($col)); } +# _build_query +# +# Build a query hash for find, et al. Overrides Retrieve::_build_query. + +sub _build_query { + my ($self, $query) = @_; + + my %new_query; + $new_query{lc $_} = $query->{$_} for keys %$query; + + return \%new_query; +} + sub _mk_group_accessors { my ($class, $type, $group, @fields) = @_; #warn join(', ', map { ref $_ ? (@$_) : ($_) } @fields); @@ -78,16 +93,6 @@ sub _mk_group_accessors { @fields, @extra); } -sub _cond_key { - my ($class, $attrs, $key, @rest) = @_; - return $class->next::method($attrs, lc($key), @rest); -} - -sub _cond_value { - my ($class, $attrs, $key, @rest) = @_; - return $class->next::method($attrs, lc($key), @rest); -} - sub new { my ($class, $attrs, @rest) = @_; my %att;