class Shoulda::Matchers::Doublespeak::World

@private

Public Class Methods

new() click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 6
def initialize
  @doubles_activated = false
end

Public Instance Methods

double_collection_for(klass) click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 10
def double_collection_for(klass)
  double_collections_by_class[klass] ||=
    DoubleCollection.new(self, klass)
end
doubles_activated?() click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 35
def doubles_activated?
  @doubles_activated
end
original_method_for(klass, method_name) click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 20
def original_method_for(klass, method_name)
  if original_methods_by_class.key?(klass)
    original_methods_by_class[klass][method_name]
  end
end
store_original_method_for(klass, method_name) click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 15
def store_original_method_for(klass, method_name)
  original_methods_for_class(klass)[method_name] ||=
    klass.instance_method(method_name)
end
with_doubles_activated() { || ... } click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 26
def with_doubles_activated
  @doubles_activated = true
  activate
  yield
ensure
  @doubles_activated = false
  deactivate
end

Private Instance Methods

activate() click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 41
def activate
  double_collections_by_class.each do |_klass, double_collection|
    double_collection.activate
  end
end
deactivate() click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 47
def deactivate
  double_collections_by_class.each do |_klass, double_collection|
    double_collection.deactivate
  end
end
double_collections_by_class() click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 53
def double_collections_by_class
  @_double_collections_by_class ||= {}
end
original_methods_by_class() click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 57
def original_methods_by_class
  @_original_methods_by_class ||= {}
end
original_methods_for_class(klass) click to toggle source
# File lib/shoulda/matchers/doublespeak/world.rb, line 61
def original_methods_for_class(klass)
  original_methods_by_class[klass] ||= {}
end