Pytasz, aby zobaczyć wszystkich przodków klasy lub potomków? W przypadku przodków użyj:
Class.ancestors
Nie ma jednak porównywalnej metody "wyjęciu z pudełka" dla potomków. Można użyć ObjectSpace, jak poniżej, ale jest powolne i nie mogą być przenoszone na terenie implementacje Ruby:
ObjectSpace.each_object(Class) do |klass|
p klass if klass < StandardError
end
EDIT:
Można również użyć haka Class#inherited śledzić podklasy. Nie spowoduje to przechwycenia żadnych podklas utworzonych przed zdefiniowaniem funkcji śledzenia, więc może nie pasować do Twojego przypadku użycia. Jeśli chcesz użyć tych informacji programowo na zajęciach zdefiniowanych w aplikacji, może to być droga.
Wielkie dzięki! Właśnie tego chciałem! :) – flyer88