X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass.pm;h=6d75377bae6fcb2c7a3e77fd7e1147c832570e8c;hb=870fe3956ab64f3d5a810608a368b7324ab7308b;hp=1639428a294b06271dcbf40c9b9ad46f3043c584;hpb=0547bab13aa1008c751cbb7f72a3743ceed9a5c2;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class.pm b/lib/DBIx/Class.pm index 1639428..6d75377 100644 --- a/lib/DBIx/Class.pm +++ b/lib/DBIx/Class.pm @@ -4,9 +4,14 @@ use strict; use warnings; use vars qw($VERSION); -use base qw/DBIx::Class::Componentised Class::Data::Accessor/; +use base qw/DBIx::Class::Componentised Class::Accessor::Grouped/; + +sub mk_classdata { + my $self = shift; + $self->mk_group_accessors('inherited', $_[0]); + $self->set_inherited(@_) if @_ > 1; +} -sub mk_classdata { shift->mk_classaccessor(@_); } sub component_base_class { 'DBIx::Class' } # Always remember to do all digits for the version even if they're 0 @@ -16,18 +21,18 @@ sub component_base_class { 'DBIx::Class' } $VERSION = '0.07999_01'; sub MODIFY_CODE_ATTRIBUTES { - my ($class,$code,@attrs) = @_; - $class->mk_classdata('__attr_cache' => {}) - unless $class->can('__attr_cache'); - $class->__attr_cache->{$code} = [@attrs]; - return (); + my ($class,$code,@attrs) = @_; + $class->mk_classdata('__attr_cache' => {}) + unless $class->can('__attr_cache'); + $class->__attr_cache->{$code} = [@attrs]; + return (); } sub _attr_cache { - my $self = shift; - my $cache = $self->can('__attr_cache') ? $self->__attr_cache : {}; - my $rest = eval { $self->next::method }; - return $@ ? $cache : { %$cache, %$rest }; + my $self = shift; + my $cache = $self->can('__attr_cache') ? $self->__attr_cache : {}; + my $rest = eval { $self->next::method }; + return $@ ? $cache : { %$cache, %$rest }; } 1; @@ -180,6 +185,8 @@ andyg: Andy Grundman ank: Andres Kievsky +ash: Ash Berlin + blblack: Brandon L. Black bluefeet: Aran Deltac @@ -236,6 +243,8 @@ typester: Daisuke Murase wdh: Will Hawes +willert: Sebastian Willert + zamolxes: Bogdan Lucaciu =head1 LICENSE