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