def self.cleanup_models
descendants = DataMapper::Model.descendants.to_a
while model = descendants.shift
model_name = model.name.to_s.strip
unless model_name.empty? || model_name[0] == ?#
parts = model_name.split('::')
constant_name = parts.pop.to_sym
base = parts.empty? ? Object : DataMapper::Ext::Object.full_const_get(parts.join('::'))
base.class_eval { remove_const(constant_name) if const_defined?(constant_name) }
end
remove_ivars(model)
model.instance_methods(false).each { |method| model.send(:undef_method, method) }
end
DataMapper::Model.descendants.clear
end