X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FColumnGroups.pm;h=98e6508c0b9f82b17b3a74413093aaff4467b8a5;hb=3bec1f52a1c0b65a7f323799a9ea832bf4b6695e;hp=4c0b148dd1c0ac82c86cf5ef9ec94dfb1ecdc82b;hpb=b8e1e21f0fcd55e6e3ce987e57601b279a75b666;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm index 4c0b148..98e6508 100644 --- a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm +++ b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm @@ -1,10 +1,10 @@ -package DBIx::Class::CDBICompat::ColumnGroups; +package # hide from PAUSE + DBIx::Class::CDBICompat::ColumnGroups; use strict; use warnings; -use NEXT; -use base qw/Class::Data::Inheritable/; +use base qw/DBIx::Class::Row/; __PACKAGE__->mk_classdata('_column_groups' => { }); @@ -20,8 +20,8 @@ sub columns { sub _add_column_group { my ($class, $group, @cols) = @_; - $class->_register_column_group($group => @cols); $class->add_columns(@cols); + $class->_register_column_group($group => @cols); } sub _register_column_group { @@ -40,36 +40,32 @@ sub _register_column_group { $class->set_primary_key($cols[0]); } unless (exists $class->_column_groups->{'Essential'}) { - #$class->_register_column_group('Essential' => $cols[0]); $groups->{'Essential'}{$cols[0]} = {}; - #$groups->{'Essential'}{$_} ||= {} for keys %{ $class->_primaries || {} }; } } $groups->{$group}{$_} ||= {} for @cols; - #if ($group eq 'Essential') { - # $groups->{$group}{$_} ||= {} for keys %{ $class->_primaries || {} }; - #} $class->_column_groups($groups); } -sub all_columns { return keys %{$_[0]->_columns}; } +sub all_columns { return shift->result_source_instance->columns; } sub primary_column { my ($class) = @_; - my @pri = keys %{$class->_primaries}; + my @pri = $class->primary_columns; return wantarray ? @pri : $pri[0]; } sub find_column { my ($class, $col) = @_; - return $col if $class->_columns->{$col}; + return $col if $class->has_column($col); } sub __grouper { my ($class) = @_; - return bless({ class => $class}, 'DBIx::Class::CDBICompat::ColumnGroups::GrouperShim'); + my $grouper = { class => $class }; + return bless($grouper, 'DBIx::Class::CDBICompat::ColumnGroups::GrouperShim'); } sub _find_columns {