X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FAccessorGroup.pm;h=12a8744b2042594794608711532fc6179552b0f8;hb=22030f6f3e5ace15060ba1233682dfcfdfb318a7;hp=ea25e4f793fb0d10c4bfe52fd8cbf721c5fba7ef;hpb=a2bd379666d729133d65c85dc775627937084b18;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/AccessorGroup.pm b/lib/DBIx/Class/AccessorGroup.pm index ea25e4f..12a8744 100644 --- a/lib/DBIx/Class/AccessorGroup.pm +++ b/lib/DBIx/Class/AccessorGroup.pm @@ -7,6 +7,16 @@ use base qw/Class::Accessor::Grouped/; use Scalar::Util qw/weaken blessed/; use namespace::clean; +sub mk_classdata { + shift->mk_classaccessor(@_); +} + +sub mk_classaccessor { + my $self = shift; + $self->mk_group_accessors('inherited', $_[0]); + $self->set_inherited(@_) if @_ > 1; +} + my $successfully_loaded_components; sub get_component_class { @@ -18,6 +28,8 @@ sub get_component_class { if (defined $class and ! $successfully_loaded_components->{$class} ) { $_[0]->ensure_class_loaded($class); + mro::set_mro( $class, 'c3' ); + no strict 'refs'; $successfully_loaded_components->{$class} = ${"${class}::__LOADED__BY__DBIC__CAG__COMPONENT_CLASS__"}