mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
removes unused Class#descedents
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user