Object
# File lib/rr/double_definitions/double_definition_create.rb, line 27 def initialize @verification_strategy = Strategies::Verification::Stub.new(self) @implementation_strategy = Strategies::Implementation::Reimplementation.new(self) @double_injection_strategy = self.class.default_double_injection_strategy.call(self) end
# File lib/rr/double_definitions/double_definition_create.rb, line 33 def call(method_name, *args, &handler) definition = DoubleDefinition.new(self) verification_strategy.call(definition, method_name, args, handler) implementation_strategy.call(definition, method_name, args, handler) double_injection_strategy.call(definition, method_name, args, handler) definition end
# File lib/rr/double_definitions/double_definition_create.rb, line 5 def default_double_injection_strategy @default_double_injection_strategy ||= lambda do |double_injection_create| Strategies::DoubleInjection::Instance.new(double_injection_create) end end
# File lib/rr/double_definitions/double_definition_create.rb, line 118 def dont_allow(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_verification_strategy(::RR::DoubleDefinitions::Strategies::Verification::DontAllow, subject, method_name, &definition_eval_block) end
DoubleInjection Strategies
# File lib/rr/double_definitions/double_definition_create.rb, line 132 def instance_of(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_double_injection_strategy(::RR::DoubleDefinitions::Strategies::DoubleInjection::AnyInstanceOf, subject, method_name, &definition_eval_block) end
# File lib/rr/double_definitions/double_definition_create.rb, line 45 def method_name @verification_strategy.method_name end
# File lib/rr/double_definitions/double_definition_create.rb, line 110 def mock(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_verification_strategy(::RR::DoubleDefinitions::Strategies::Verification::Mock, subject, method_name, &definition_eval_block) end
Implementation Strategies
# File lib/rr/double_definitions/double_definition_create.rb, line 123 def proxy(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_implementation_strategy(::RR::DoubleDefinitions::Strategies::Implementation::Proxy, subject, method_name, &definition_eval_block) end
# File lib/rr/double_definitions/double_definition_create.rb, line 41 def root_subject subject end
# File lib/rr/double_definitions/double_definition_create.rb, line 11 def set_default_double_injection_strategy(strategy_lambda) original_strategy_lambda = default_double_injection_strategy begin @default_double_injection_strategy = strategy_lambda yield ensure @default_double_injection_strategy = original_strategy_lambda end end
# File lib/rr/double_definitions/double_definition_create.rb, line 127 def strong(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_implementation_strategy(::RR::DoubleDefinitions::Strategies::Implementation::StronglyTypedReimplementation, subject, method_name, &definition_eval_block) end
# File lib/rr/double_definitions/double_definition_create.rb, line 114 def stub(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_verification_strategy(::RR::DoubleDefinitions::Strategies::Verification::Stub, subject, method_name, &definition_eval_block) end
Generated with the Darkfish Rdoc Generator 2.