module Corefines::Class::Descendants

@!method descendants

@example
  Integer.descendants  # => [Fixnum, Bignum]
  Numeric.descendants  # => [Integer, Fixnum, Float, Bignum, Rational, Complex]

@return [Array<Class>] all descendants of this class.

Public Instance Methods

descendants() click to toggle source
# File lib/corefines/class.rb, line 19
def descendants
  descendants = []
  ::ObjectSpace.each_object(singleton_class) do |klass|
    descendants.unshift(klass) unless klass == self
  end
  descendants
end