class Shoulda::Matchers::Doublespeak::DoubleCollection
@private
Attributes
Public Class Methods
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 6 def initialize(world, klass) @world = world @klass = klass @doubles_by_method_name = {} end
Public Instance Methods
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 20 def activate doubles_by_method_name.each_value(&:activate) end
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 28 def calls_by_method_name doubles_by_method_name.inject({}) do |hash, (method_name, double)| hash.merge! method_name => double.calls.map(&:args) end end
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 34 def calls_to(method_name) double = doubles_by_method_name[method_name] if double double.calls else [] end end
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 24 def deactivate doubles_by_method_name.each_value(&:deactivate) end
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 16 def register_proxy(method_name) register_double(method_name, :proxy) end
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 12 def register_stub(method_name) register_double(method_name, :stub) end
Protected Instance Methods
Source
# File lib/shoulda/matchers/doublespeak/double_collection.rb, line 48 def register_double(method_name, implementation_type) doubles_by_method_name.fetch(method_name) do implementation = DoubleImplementationRegistry.find(implementation_type) double = Double.new(world, klass, method_name, implementation) doubles_by_method_name[method_name] = double double end end