class RR::DoubleDefinitions::Strategies::Strategy

Attributes

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

Public Class Methods

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

Public Instance Methods

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

Protected Instance Methods

do_call() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 31
def do_call
  raise NotImplementedError
end
permissive_argument() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 36
def permissive_argument
  if args.empty? and kwargs.empty?
    definition.with_any_args
  else
    definition.with(*args, **kwargs)
  end
end
reimplementation() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 53
def reimplementation
  definition.returns(&handler)
end
subject() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 57
def subject
  definition.subject
end