X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FAccessorGroup.pm;h=bd245e3dd9f9e77ebc4d09b5b8b8d80f425fdc5a;hb=db29433c74a98967f61f117bd508c06055db2892;hp=4d7e0469096d10caf215aa52e884703cee4e08b2;hpb=8b40ac1a052d2d0fe6b9dd0219bb77bb469d1cc2;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/AccessorGroup.pm b/lib/DBIx/Class/AccessorGroup.pm index 4d7e046..bd245e3 100644 --- a/lib/DBIx/Class/AccessorGroup.pm +++ b/lib/DBIx/Class/AccessorGroup.pm @@ -5,6 +5,21 @@ use warnings; use base qw/Class::Accessor::Grouped/; +our %successfully_loaded_components; + +sub get_component_class { + my $class = $_[0]->get_inherited($_[1]); + if (defined $class and ! $successfully_loaded_components{$class}) { + $_[0]->ensure_class_loaded($class); + $successfully_loaded_components{$class}++; # only increment if the load succeeded + } + $class; +}; + +sub set_component_class { + shift->set_inherited(@_); +} + 1; =head1 NAME