# File lib/rr/double_definitions/double_definition_create.rb, line 92 def add_implementation_strategy(implementation_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block) add_strategy(subject, method_name, definition_eval_block) do self.implementation_strategy = implementation_strategy_class.new(self) end end
# File lib/rr/double_definitions/double_definition_create.rb, line 98 def add_scope_strategy(scope_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block) add_strategy(subject, method_name, definition_eval_block) do self.scope_strategy = scope_strategy_class.new(self) end end
# File lib/rr/double_definitions/double_definition_create.rb, line 104 def add_strategy(subject, method_name, definition_eval_block) if method_name && definition_eval_block raise ArgumentError, "Cannot pass in a method name and a block" end @subject = subject yield # TODO: Allow hash argument to simulate a Struct. if no_subject? self elsif method_name # TODO: Pass in arguments. call(method_name) else DoubleDefinitionCreateBlankSlate.new(self, &definition_eval_block) end end
# File lib/rr/double_definitions/double_definition_create.rb, line 86 def add_verification_strategy(verification_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block) add_strategy(subject, method_name, definition_eval_block) do self.verification_strategy = verification_strategy_class.new(self) end end
# File lib/rr/double_definitions/double_definition_create.rb, line 128 def implementation_strategy=(implementation_strategy) verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy) @implementation_strategy = implementation_strategy end
# File lib/rr/double_definitions/double_definition_create.rb, line 162 def no_strategy_error raise( Errors::DoubleDefinitionError, "This Double has no strategy" ) end
# File lib/rr/double_definitions/double_definition_create.rb, line 155 def proxy_when_dont_allow_error raise( Errors::DoubleDefinitionError, "Doubles cannot be proxied when using dont_allow strategy" ) end
# File lib/rr/double_definitions/double_definition_create.rb, line 133 def scope_strategy=(scope_strategy) verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy) @scope_strategy = scope_strategy end
# File lib/rr/double_definitions/double_definition_create.rb, line 142 def strategy_already_defined_error raise( Errors::DoubleDefinitionError, "This Double already has a #{verification_strategy.name} strategy" ) end
# File lib/rr/double_definitions/double_definition_create.rb, line 121 def verification_strategy=(verification_strategy) verify_no_verification_strategy verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy) @verification_strategy = verification_strategy verification_strategy end
# File lib/rr/double_definitions/double_definition_create.rb, line 138 def verify_no_verification_strategy strategy_already_defined_error if verification_strategy end
# File lib/rr/double_definitions/double_definition_create.rb, line 149 def verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy) proxy_when_dont_allow_error if verification_strategy.is_a?(Strategies::Verification::DontAllow) && implementation_strategy.is_a?(Strategies::Implementation::Proxy) end
Generated with the Darkfish Rdoc Generator 2.