Parent

Included Modules

Class/Module Index [+]

Quicksearch

RR::DoubleDefinitions::Strategies::Strategy

Attributes

strategy_method_name[R]
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 31
def initialize(double_definition_create)
  @double_definition_create = double_definition_create
end
register(strategy_method_name, *alias_method_names) click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 7
def register(strategy_method_name, *alias_method_names)
  @strategy_method_name = strategy_method_name
  register_self_at_double_definition_create(strategy_method_name)
  DoubleDefinitionCreate.class_eval do
    alias_method_names.each do |alias_method_name|
      alias_method alias_method_name, strategy_method_name
    end
  end
  RR::Adapters::RRMethods.register_strategy_class(self, strategy_method_name)
  DoubleDefinition.register_strategy_class(self, strategy_method_name)
  RR::Adapters::RRMethods.class_eval do
    alias_method_names.each do |alias_method_name|
      alias_method alias_method_name, strategy_method_name
    end
  end
end
register_self_at_double_definition_create(strategy_method_name) click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 24
def register_self_at_double_definition_create(strategy_method_name)
end

Public Instance Methods

call(definition, method_name, args, handler) click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 35
def call(definition, method_name, args, handler)
  @definition, @method_name, @args, @handler = definition, method_name, args, handler
  do_call
end
name() click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 40
def name
  self.class.strategy_method_name
end
verify_subject(subject) click to toggle source
# File lib/rr/double_definitions/strategies/strategy.rb, line 44
def verify_subject(subject)
end

Protected Instance Methods

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

[Validate]

Generated with the Darkfish Rdoc Generator 2.