lib/core/facets/class/descendents.rb in facets-2.8.0 vs lib/core/facets/class/descendents.rb in facets-2.8.1

- old
+ new

@@ -1,34 +2 @@ -class Class - - # List all descedents of this class. - # - # class X ; end - # class A < X; end - # class B < X; end - # X.descendents #=> [A,B] - # - # NOTE: This is a intesive operation. Do not - # expect it to be super fast. - def descendents - subclass = [] - ObjectSpace.each_object( Class ) do |c| - if c.ancestors.include?( self ) and self != c - subclass << c - end - end - return subclass - end - - unless defined?(::ActiveSupport) - - # Obvious alias for descendents. - # - # NOTE: ActiveSupport returns string names rather - # then actual classes, so this is excluded - # if ActiveSupport has already been loaded. - alias_method :subclasses, :descendents - - end - -end - +require 'facets/class/descendants'