Sha256: cda26903d9646d2d8afed9b8a21a1a71e7693a9251cabf7ab334774bb118cc9f

Contents?: true

Size: 529 Bytes

Versions: 9

Compression:

Stored size: 529 Bytes

Contents

class Class

  if defined?(Class.__subclasses__) # Rubinius

    # Returns an array with the direct children of +self+.
    #
    #   Integer.subclasses # => [Fixnum, Bignum]
    #
    alias_method :subclasses, :__subclasses__

  else

    # Returns an array with the direct children of +self+.
    #
    #   Integer.subclasses # => [Fixnum, Bignum]
    #
    def subclasses
      list = []
      ObjectSpace.each_object(Class) do |c|
        list.unshift c if c.superclass == self
      end
      list.uniq
    end

  end

end

Version data entries

9 entries across 8 versions & 1 rubygems

Version Path
facets-3.1.0 lib/core/facets/class/subclasses.rb
facets-3.0.0 lib/core/facets/class/subclasses.rb
facets-2.9.3 lib/core/facets/class/subclasses.rb
facets-2.9.2 lib/core/facets/class/subclasses.rb
facets-2.9.2 src/core/facets/class/subclasses.rb
facets-2.9.1 lib/core/facets/class/subclasses.rb
facets-2.9.0 lib/core/facets/class/subclasses.rb
facets-2.9.0.pre.2 lib/core/facets/class/subclasses.rb
facets-2.9.0.pre.1 lib/core/facets/class/subclasses.rb