Object
# File lib/rr/double_definitions/double_definition_create.rb, line 56
56: def initialize
57: @verification_strategy = nil
58: @implementation_strategy = Strategies::Implementation::Reimplementation.new(self)
59: @scope_strategy = Strategies::Scope::Instance.new(self)
60: end
# File lib/rr/double_definitions/double_definition_create.rb, line 19
19: def register_implementation_strategy_class(strategy_class, strategy_method_name)
20: 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)
21:
22: 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)
23: end
# File lib/rr/double_definitions/double_definition_create.rb, line 33
33: def register_scope_strategy_class(strategy_class, strategy_method_name)
34: 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)
35:
36: 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)
37: end
# File lib/rr/double_definitions/double_definition_create.rb, line 5 5: def register_verification_strategy_class(strategy_class, strategy_method_name) 6: 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) 7: 8: 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) 9: end
# File lib/rr/double_definitions/double_definition_create.rb, line 62
62: def call(method_name, *args, &handler)
63: raise DoubleDefinitionCreateError if no_subject?
64: definition = DoubleDefinition.new(self)
65: verification_strategy || no_strategy_error
66: verification_strategy.call(definition, method_name, args, handler)
67: implementation_strategy.call(definition, method_name, args, handler)
68: scope_strategy.call(definition, method_name, args, handler)
69: definition
70: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.