thoughtbot--shoulda-matchers/lib/shoulda/matchers/doublespeak/world.rb

38 lines
809 B
Ruby

module Shoulda
module Matchers
module Doublespeak
# @private
class World
def double_collection_for(klass)
double_collections_by_class[klass] ||= DoubleCollection.new(klass)
end
def with_doubles_activated
activate
yield
ensure
deactivate
end
private
def activate
double_collections_by_class.each do |klass, double_collection|
double_collection.activate
end
end
def deactivate
double_collections_by_class.each do |klass, double_collection|
double_collection.deactivate
end
end
def double_collections_by_class
@_double_collections_by_class ||= {}
end
end
end
end
end