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
any_instance_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