def remove_constant(const)
superklass = const
until (superklass = superklass.superclass).nil?
if superklass.respond_to?(:_subclasses_list)
superklass.send(:_subclasses_list).delete(klass)
superklass.send(:_subclasses_list).delete(klass.to_s)
end
end
parts = const.to_s.split("::")
base = parts.size == 1 ? Object : Object.full_const_get(parts[0..-2].join("::"))
object = parts[-1].to_s
begin
base.send(:remove_const, object)
Merb.logger.debug("Removed constant #{object} from #{base}")
rescue NameError
Merb.logger.debug("Failed to remove constant #{object} from #{base}")
end
end