Class Index [+]

Quicksearch

RR::DoubleDefinitions::DoubleDefinitionCreate::StrategySetupMethods

Public Instance Methods

no_subject?() click to toggle source
    # File lib/rr/double_definitions/double_definition_create.rb, line 81
81:         def no_subject?
82:           subject.__id__ === NO_SUBJECT.__id__
83:         end

Protected Instance Methods

add_implementation_strategy(implementation_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block) click to toggle source
    # File lib/rr/double_definitions/double_definition_create.rb, line 92
92:         def add_implementation_strategy(implementation_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
93:           add_strategy(subject, method_name, definition_eval_block) do
94:             self.implementation_strategy = implementation_strategy_class.new(self)
95:           end
96:         end
add_scope_strategy(scope_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block) click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 98
 98:         def add_scope_strategy(scope_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
 99:           add_strategy(subject, method_name, definition_eval_block) do
100:             self.scope_strategy = scope_strategy_class.new(self)
101:           end
102:         end
add_strategy(subject, method_name, definition_eval_block) click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 104
104:         def add_strategy(subject, method_name, definition_eval_block)
105:           if method_name && definition_eval_block
106:             raise ArgumentError, "Cannot pass in a method name and a block"
107:           end
108:           @subject = subject
109:           yield
110:           # TODO: Allow hash argument to simulate a Struct.
111:           if no_subject?
112:             self
113:           elsif method_name
114:             # TODO: Pass in arguments.
115:             call(method_name)
116:           else
117:             DoubleDefinitionCreateBlankSlate.new(self, &definition_eval_block)
118:           end
119:         end
add_verification_strategy(verification_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block) click to toggle source
    # File lib/rr/double_definitions/double_definition_create.rb, line 86
86:         def add_verification_strategy(verification_strategy_class, subject=NO_SUBJECT, method_name=nil, &definition_eval_block)
87:           add_strategy(subject, method_name, definition_eval_block) do
88:             self.verification_strategy = verification_strategy_class.new(self)
89:           end
90:         end
implementation_strategy=(implementation_strategy) click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 128
128:         def implementation_strategy=(implementation_strategy)
129:           verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy)
130:           @implementation_strategy = implementation_strategy
131:         end
no_strategy_error() click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 162
162:         def no_strategy_error
163:           raise(
164:             Errors::DoubleDefinitionError,
165:             "This Double has no strategy"
166:           )
167:         end
proxy_when_dont_allow_error() click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 155
155:         def proxy_when_dont_allow_error
156:           raise(
157:             Errors::DoubleDefinitionError,
158:             "Doubles cannot be proxied when using dont_allow strategy"
159:           )
160:         end
scope_strategy=(scope_strategy) click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 133
133:         def scope_strategy=(scope_strategy)
134:           verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy)
135:           @scope_strategy = scope_strategy
136:         end
strategy_already_defined_error() click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 142
142:         def strategy_already_defined_error
143:           raise(
144:             Errors::DoubleDefinitionError,
145:             "This Double already has a #{verification_strategy.name} strategy"
146:           )
147:         end
verification_strategy=(verification_strategy) click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 121
121:         def verification_strategy=(verification_strategy)
122:           verify_no_verification_strategy
123:           verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy)
124:           @verification_strategy = verification_strategy
125:           verification_strategy
126:         end
verify_no_verification_strategy() click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 138
138:         def verify_no_verification_strategy
139:           strategy_already_defined_error if verification_strategy
140:         end
verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy) click to toggle source
     # File lib/rr/double_definitions/double_definition_create.rb, line 149
149:         def verify_not_proxy_and_dont_allow(verification_strategy, implementation_strategy)
150:           proxy_when_dont_allow_error if
151:             verification_strategy.is_a?(Strategies::Verification::DontAllow) &&
152:             implementation_strategy.is_a?(Strategies::Implementation::Proxy)
153:         end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.