X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat%2FColumnGroups.pm;h=3a026b222bd69f4faac807541832e0af1371b961;hb=7fca91be5671c61be5c766bd93df741bc00d9c15;hp=6efd72519d4f5479b60291ed9391ef6eb2889cc1;hpb=c0eb27e8608791775aff1a8d35fe14b4abf011b0;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/CDBICompat/ColumnGroups.pm b/lib/DBIx/Class/CDBICompat/ColumnGroups.pm index 6efd725..3a026b2 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/; @@ -73,7 +73,7 @@ sub _register_column_group { sub _has_custom_accessor { my($class, $name) = @_; - + no strict 'refs'; my $existing_accessor = *{$class .'::'. $name}{CODE}; return $existing_accessor && !$our_accessors{$existing_accessor}; @@ -87,9 +87,10 @@ 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}++; return 1; @@ -119,7 +120,7 @@ sub _mk_group_accessors { # warn " $field $alias\n"; { no strict 'refs'; - + $class->_deploy_accessor($name, $accessor); $class->_deploy_accessor($alias, $accessor); } @@ -154,7 +155,8 @@ sub _find_columns { return map { $class->find_column($_) } @col; } -package DBIx::Class::CDBICompat::ColumnGroups::GrouperShim; +package # hide from PAUSE (should be harmless, no POD no Version) + DBIx::Class::CDBICompat::ColumnGroups::GrouperShim; sub groups_for { my ($self, @cols) = @_; @@ -166,6 +168,5 @@ sub groups_for { } return keys %groups; } - 1;