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 9
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 13
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 18
def verify_subject(subject)
end

Protected Instance Methods

do_call() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 22
def do_call
  raise NotImplementedError
end
permissive_argument() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 26
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 34
def reimplementation
  definition.returns(&handler)
end
subject() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 38
def subject
  definition.subject
end