Method: Cuboid::Utilities#remove_constants
- Defined in:
- lib/cuboid/utilities.rb
#remove_constants(mod, skip = []) ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/cuboid/utilities.rb', line 137 def remove_constants( mod, skip = [] ) return if skip.include?( mod ) return if !(mod.is_a?( Class ) || mod.is_a?( Module )) || !mod.to_s.start_with?( 'Cuboid' ) parent = Object mod.to_s.split( '::' )[0..-2].each do |ancestor| parent = parent.const_get( ancestor.to_sym ) end mod.constants.each { |m| mod.send( :remove_const, m ) } nil end |