Class: Class
Instance Method Summary collapse
-
#subclasses(include_subclassed_nodes = false) ⇒ Array<Class>
Returns a list of classes that extend this class, directly or indirectly (as in subclasses of subclasses).
Instance Method Details
#subclasses(include_subclassed_nodes = false) ⇒ Array<Class>
Returns a list of classes that extend this class, directly or indirectly (as in subclasses of subclasses).
29 30 31 32 33 34 |
# File 'lib/golly-utils/ruby_ext/classes_and_types.rb', line 29 def subclasses(include_subclassed_nodes = false) @subclasses ||= [] classes= @subclasses.inject( [] ) {|list, subclass| list.push subclass, *subclass.subclasses } classes.reject! {|c| classes.any?{|i| c != i and c.subclasses.include?(i) }} unless include_subclassed_nodes classes end |