X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FColumnGroups.pm;h=2dcd878f83954e27d29843624d410e53365b66d0;hb=27252a4a98791c2fcf13693cfbb9f8c44f5e585b;hp=fa87ac1924c7112be6e484a15f978cd23be56c84;hpb=8da46543004ecb546d27b1cc40450d7160e8178f;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm index fa87ac1..2dcd878 100644 --- a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm +++ b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm @@ -3,7 +3,7 @@ package # hide from PAUSE use strict; use warnings; - +use Sub::Name (); use Storable 'dclone'; use base qw/DBIx::Class::Row/; @@ -24,10 +24,16 @@ sub columns { sub _add_column_group { my ($class, $group, @cols) = @_; + $class->mk_group_accessors(column => @cols); $class->add_columns(@cols); $class->_register_column_group($group => @cols); } +sub add_columns { + my ($class, @cols) = @_; + $class->result_source_instance->add_columns(@cols); +} + sub _register_column_group { my ($class, $group, @cols) = @_; @@ -81,7 +87,8 @@ sub _register_column_group { { no strict 'refs'; no warnings 'redefine'; - *{$class .'::'. $name} = $accessor; + my $fullname = join '::', $class, $name; + *$fullname = Sub::Name::subname $fullname, $accessor; } $our_accessors{$accessor}++;