X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FAccessorGroup.pm;h=f85c714d0062793020edf4c6e0d170c4eb4e598b;hb=34d52be2d55c86c6eddd2317157db7f2accbe810;hp=7a2da2cf5e69ec20c84c2776b96500ff4f8dac21;hpb=12bbb33986a29dc27dd3e2b9d082a87f50124ec1;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/AccessorGroup.pm b/lib/DBIx/Class/AccessorGroup.pm index 7a2da2c..f85c714 100644 --- a/lib/DBIx/Class/AccessorGroup.pm +++ b/lib/DBIx/Class/AccessorGroup.pm @@ -3,9 +3,24 @@ package DBIx::Class::AccessorGroup; use strict; use warnings; -use base qw/Class::Data::Inheritable/; +use NEXT; -__PACKAGE__->mk_classdata('_accessor_group_deleted' => { }); +=head1 NAME + +DBIx::Class::AccessorGroup - Lets you build groups of accessors + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +This class lets you build groups of accessors that will call different +getters and setters. + +=head1 METHODS + +=over 4 + +=cut sub mk_group_accessors { my($self, $group, @fields) = @_; @@ -32,12 +47,16 @@ sub mk_group_accessors { "'$class' is unwise."); } + my $name = $field; + + ($name, $field) = @$field if ref $field; + my $accessor = $self->$maker($group, $field); - my $alias = "_${field}_accessor"; + my $alias = "_${name}_accessor"; #warn "$class $group $field $alias"; - *{$class."\:\:$field"} = $accessor; + *{$class."\:\:$name"} = $accessor; #unless defined &{$class."\:\:$field"} *{$class."\:\:$alias"} = $accessor; @@ -117,13 +136,17 @@ sub make_group_wo_accessor { }; } -sub delete_accessor { - my ($class, $accessor) = @_; - $class = ref $class if ref $class; - my $sym = "${class}::${accessor}"; - undef &$sym; - delete $DB::sub{$sym}; - #$class->_accessor_group_deleted->{"${class}::${accessor}"} = 1; -} - 1; + +=back + +=head1 AUTHORS + +Matt S. Trout + +=head1 LICENSE + +You may distribute this code under the same terms as Perl itself. + +=cut +