X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FResultSetManager.pm;h=0022e8a2bca68911d14d488a33561d206977e3df;hb=a33a40dee2fb4cdcc5fb1da76c66498cbf36e8e8;hp=d2746e58fdc5b4daf463108baad082d4e51260b8;hpb=ddc0a6c89d212433eb5716b2aa963f63b1f348d1;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/ResultSetManager.pm b/lib/DBIx/Class/ResultSetManager.pm index d2746e5..0022e8a 100644 --- a/lib/DBIx/Class/ResultSetManager.pm +++ b/lib/DBIx/Class/ResultSetManager.pm @@ -3,7 +3,7 @@ use strict; use warnings; use base 'DBIx::Class'; use Sub::Name (); -use Class::Inspector; +use Package::Stash (); warn "DBIx::Class::ResultSetManager never left experimental status and has now been DEPRECATED. This module will be deleted in 09000 so please @@ -53,7 +53,16 @@ sub _register_attributes { my $cache = $self->_attr_cache; return if keys %$cache == 0; - foreach my $meth (@{Class::Inspector->methods($self) || []}) { + foreach my $meth (keys %{ { map + { $_ => 1 } + map + { Package::Stash->new($_)->list_all_symbols("CODE") } + @{ mro::get_linear_isa( ref $self || $self ) } + } } ) { + # *DO NOT* rely on P::S returning crefs in reverse mro order + # but instead ask the mro to redo the lookup + # This codepath is extremely old, miht as well keep it running + # as-is with no room for surprises my $attrs = $cache->{$self->can($meth)}; next unless $attrs; if ($attrs->[0] eq 'ResultSet') { @@ -88,4 +97,17 @@ sub _register_resultset_class { } } +=head1 FURTHER QUESTIONS? + +Check the list of L. + +=head1 COPYRIGHT AND LICENSE + +This module is free software L +by the L. You can +redistribute it and/or modify it under the same terms as the +L. + +=cut + 1;