Class: Class
- Defined in:
- lib/nano/class/descendents.rb,
lib/nano/class/subclasses.rb,
lib/nano/class/remove_subclasses.rb,
lib/nano/class/remove_descendents.rb
Overview
– Original code from RubyOnRails (www.rubyonrails.com) ++
Instance Method Summary collapse
Instance Method Details
#descendents ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/nano/class/descendents.rb', line 6 def descendents subclasses = [] ObjectSpace.each_object( Class ) do |c| if c.ancestors.include?( self ) and self != c subclasses << c end end return subclasses end |
#remove_descendents ⇒ Object
8 9 10 11 12 13 |
# File 'lib/nano/class/remove_descendents.rb', line 8 def remove_descendents self.descendents.each do |subclass| Object.send(:remove_const, subclass.name) rescue nil end ObjectSpace.garbage_collect end |
#remove_subclasses ⇒ Object
3 |
# File 'lib/nano/class/remove_subclasses.rb', line 3 alias_method :remove_subclasses, :remove_descendents |
#subclasses ⇒ Object
3 |
# File 'lib/nano/class/subclasses.rb', line 3 alias_method :subclasses, :descendents |