class RR::DoubleDefinitions::DoubleDefinitionCreate
Constants
- NO_SUBJECT
Attributes
double_injection_strategy[R]
implementation_strategy[R]
subject[R]
verification_strategy[R]
Public Class Methods
new()
click to toggle source
# 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
Public Instance Methods
all_instances_of(subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
Alias for: instance_of
call(method_name, *args, &handler)
click to toggle source
# 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
dont_allow(subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
click to toggle source
# File lib/rr/double_definitions/double_definition_create.rb, line 120 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
instance_of(subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
click to toggle source
DoubleInjection Strategies
# File lib/rr/double_definitions/double_definition_create.rb, line 136 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
Also aliased as: any_instance_of, all_instances_of
method_name()
click to toggle source
# File lib/rr/double_definitions/double_definition_create.rb, line 45 def method_name @verification_strategy.method_name end
mock(subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
click to toggle source
# File lib/rr/double_definitions/double_definition_create.rb, line 112 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
proxy(subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
click to toggle source
Implementation Strategies
# File lib/rr/double_definitions/double_definition_create.rb, line 126 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
root_subject()
click to toggle source
# File lib/rr/double_definitions/double_definition_create.rb, line 41 def root_subject subject end
strong(subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
click to toggle source
# File lib/rr/double_definitions/double_definition_create.rb, line 130 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
stub(subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
click to toggle source
# File lib/rr/double_definitions/double_definition_create.rb, line 116 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