class RR::DoubleDefinitions::Strategies::Strategy

Attributes

args[R]
definition[R]
double_definition_create[R]
handler[R]
method_name[R]

Public Class Methods

new(double_definition_create) click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 8
def initialize(double_definition_create)
  @double_definition_create = double_definition_create
end

Public Instance Methods

call(definition, method_name, args, handler) click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 12
def call(definition, method_name, args, handler)
  @definition, @method_name, @args, @handler = definition, method_name, args, handler
  do_call
end
verify_subject(subject) click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 17
def verify_subject(subject)
end

Protected Instance Methods

do_call() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 21
def do_call
  raise NotImplementedError
end
permissive_argument() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 25
def permissive_argument
  if args.empty?
    definition.with_any_args
  else
    definition.with(*args)
  end
end
reimplementation() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 33
def reimplementation
  definition.returns(&handler)
end
subject() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 37
def subject
  definition.subject
end