Object
# File lib/rr/double_definitions/double_definition_create.rb, line 56 def initialize @verification_strategy = nil @implementation_strategy = Strategies::Implementation::Reimplementation.new(self) @scope_strategy = Strategies::Scope::Instance.new(self) end
# File lib/rr/double_definitions/double_definition_create.rb, line 19 def register_implementation_strategy_class(strategy_class, strategy_method_name) class_eval(( def #{strategy_method_name}(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_implementation_strategy(#{strategy_class.name}, subject, method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) class_eval(( def #{strategy_method_name}!(method_name=nil, &definition_eval_block) #{strategy_method_name}(Object.new, method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) end
# File lib/rr/double_definitions/double_definition_create.rb, line 33 def register_scope_strategy_class(strategy_class, strategy_method_name) class_eval(( def #{strategy_method_name}(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_scope_strategy(#{strategy_class.name}, subject, method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) class_eval(( def #{strategy_method_name}!(method_name=nil, &definition_eval_block) #{strategy_method_name}(Object.new, method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) end
# File lib/rr/double_definitions/double_definition_create.rb, line 5 def register_verification_strategy_class(strategy_class, strategy_method_name) class_eval(( def #{strategy_method_name}(subject=NO_SUBJECT, method_name=nil, &definition_eval_block) self.add_verification_strategy(#{strategy_class.name}, subject, method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) class_eval(( def #{strategy_method_name}!(method_name=nil, &definition_eval_block) #{strategy_method_name}(Object.new, method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) end
# File lib/rr/double_definitions/double_definition_create.rb, line 62 def call(method_name, *args, &handler) raise DoubleDefinitionCreateError if no_subject? definition = DoubleDefinition.new(self) verification_strategy || no_strategy_error verification_strategy.call(definition, method_name, args, handler) implementation_strategy.call(definition, method_name, args, handler) scope_strategy.call(definition, method_name, args, handler) definition end
Generated with the Darkfish Rdoc Generator 2.