Skip to content

Instantly share code, notes, and snippets.

@rsim
Created December 16, 2009 19:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rsim/258092 to your computer and use it in GitHub Desktop.
Save rsim/258092 to your computer and use it in GitHub Desktop.
Spec::Runner.configure do |config|
config.extend(DataMapper::Spec::AdapterHelpers)
config.include(DataMapper::Spec::PendingHelpers)
config.after :all do
# global model cleanup
descendants = DataMapper::Model.descendants.to_a
while model = descendants.shift
descendants.concat(model.descendants.to_a - [ model ])
parts = model.name.split('::')
constant_name = parts.pop.to_sym
base = parts.empty? ? Object : Object.full_const_get(parts.join('::'))
if base.const_defined?(constant_name)
base.send(:remove_const, constant_name)
end
DataMapper::Model.descendants.delete(model)
end
# Report memory usage
ObjectSpace.garbage_collect
class_count = {}
ObjectSpace.each_object do |o|
class_name = o.class.name
if class_name =~ /^(DataMapper|Blog)/
class_count[class_name] = (class_count[class_name] || 0) + 1
end
end
puts class_count.to_a.sort_by{|k,v| -v}.map{|k,v| "#{k} #{v}"}.join(" <br/>\n")+"<br>"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment