removes unused Class#descedents

This commit is contained in:
Xavier Noria
2010-01-26 22:48:21 +01:00
parent 245bfafe33
commit f85f5dfc8f

View File

@@ -1,40 +1,6 @@
require 'active_support/core_ext/class/removal'
require 'active_support/core_ext/object/blank'
class Class
# Rubinius
if defined?(Class.__subclasses__)
def descendents
subclasses = []
__subclasses__.each {|k| subclasses << k; subclasses.concat k.descendents }
subclasses
end
else
# MRI
begin
ObjectSpace.each_object(Class.new) {}
def descendents
subclasses = []
ObjectSpace.each_object(class << self; self; end) do |k|
subclasses << k unless k == self
end
subclasses
end
# JRuby
rescue StandardError
def descendents
subclasses = []
ObjectSpace.each_object(Class) do |k|
subclasses << k if k < self
end
subclasses.uniq!
subclasses
end
end
end
end
class Object
def extended_by #:nodoc:
ancestors = class << self; ancestors end