From: Jano Svitok Date: 2008-03-20T22:30:34+09:00 Subject: Re: how to get inherited class names ? On Thu, Mar 20, 2008 at 1:39 PM, Pokkai Dokkai wrote: > how to get all inherited class names ? # Class helper functions class Class # Iterates over all subclasses (direct and indirect) def each_subclass ObjectSpace.each_object(Class) { | candidate | yield candidate if candidate < self } end # Returns an Array of subclasses (direct and indirect) def subclasses ret = [] each_subclass {|c| ret << c} ret end # Returns an Array of direct subclasses def direct_subclasses ret = [] each_subclass {|c| ret << c if c.superclass == self } ret end end