Sha256: 64ec474483ae43f88f315272cc3cc7f3c8929400ae3d5254510a685c07f66136
Contents?: true
Size: 722 Bytes
Versions: 2
Compression:
Stored size: 722 Bytes
Contents
class Object #:nodoc: def remove_subclasses_of(superclass) subclasses_of(superclass).each { |subclass| Object.send(:remove_const, subclass) rescue nil } end def subclasses_of(superclass) subclasses = [] ObjectSpace.each_object(Class) do |k| next if !k.ancestors.include?(superclass) || superclass == k || k.to_s.include?("::") || subclasses.include?(k.to_s) subclasses << k.to_s end subclasses end def blank? if respond_to? :empty? empty? elsif respond_to? :zero? zero? else !self end end end class Class #:nodoc: def remove_subclasses Object.remove_subclasses_of(self) end def subclasses Object.subclasses_of(self) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activesupport-1.0.2 | lib/active_support/core_ext/object_and_class.rb |
activesupport-1.0.1 | lib/active_support/core_ext/object_and_class.rb |