tüm bir sınıfın atalarını veya kökenini görmek istiyorsun? ataları için kullanın:
Class.ancestors
ancak torunları için "kutunun dışında" hayır karşılaştırılabilir bir yöntem yoktur. Aşağıdaki gibi ObjectSpace kullanabilirsiniz, ama yavaş ve Yakut uygulamaları üzerinden taşınabilir olmayabilir:
ObjectSpace.each_object(Class) do |klass|
p klass if klass < StandardError
end
EDIT:
biri de subclassing izlemek için Class#inherited kanca kullanabilirsiniz. Bu, izleme işlevi tanımlanmadan önce oluşturulan alt sınıfları yakalamaz, ancak kullanım durumunuza uymayabilir. Ancak, bu bilgiyi programınızda tanımlanan sınıflarda programsal olarak kullanmanız gerekiyorsa, bunun yapılması yol olabilir.
Çok teşekkürler! Tam olarak istediğim buydu! :) – flyer88