Sha256: 044b5e272932787f3ff918220765e1e32ab45f22664f93a679a2b56397b6c5ec

Contents?: true

Size: 421 Bytes

Versions: 2

Compression:

Stored size: 421 Bytes

Contents

require 'facets/class/descendents'

class Class

  # Remove descendents. This simple deletes the constant
  # associated to the descendents name.

  def remove_descendents
    self.descendents.each do |subclass|
      Object.send(:remove_const, subclass.name) rescue nil
    end
    ObjectSpace.garbage_collect
  end

  # Obvious alias for remove_descendents.

  alias_method :remove_subclasses, :remove_descendents

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
facets-2.2.1 lib/core/facets/class/remove_descendents.rb
facets-2.3.0 lib/core/facets/class/remove_descendents.rb