Module: Cistern::Client::ClassMethods
- Defined in:
- lib/cistern/client.rb
Instance Method Summary collapse
- #collections ⇒ Object
- #mock! ⇒ Object
- #mocking? ⇒ Boolean
- #models ⇒ Object
- #new(options = {}) ⇒ Object
- #recognized_arguments ⇒ Object
- #recognizes(*args) ⇒ Object
- #requests ⇒ Object
- #required_arguments ⇒ Object
- #requires(*args) ⇒ Object
- #reset! ⇒ Object
- #setup ⇒ Object
- #unmock! ⇒ Object
- #validate_options(options = {}) ⇒ Object
Instance Method Details
#collections ⇒ Object
149 150 151 |
# File 'lib/cistern/client.rb', line 149 def collections @collections ||= [] end |
#mock! ⇒ Object
145 |
# File 'lib/cistern/client.rb', line 145 def mock!; @mocking = true; end |
#mocking? ⇒ Boolean
146 |
# File 'lib/cistern/client.rb', line 146 def mocking?; @mocking; end |
#models ⇒ Object
153 154 155 |
# File 'lib/cistern/client.rb', line 153 def models @_models ||= [] end |
#new(options = {}) ⇒ Object
220 221 222 223 224 225 |
# File 'lib/cistern/client.rb', line 220 def new(={}) setup () self.const_get(self.mocking? ? :Mock : :Real).new() end |
#recognized_arguments ⇒ Object
157 158 159 |
# File 'lib/cistern/client.rb', line 157 def recognized_arguments @_recognized_arguments ||= [] end |
#recognizes(*args) ⇒ Object
173 174 175 |
# File 'lib/cistern/client.rb', line 173 def recognizes(*args) self.recognized_arguments.concat(args) end |
#requests ⇒ Object
165 166 167 |
# File 'lib/cistern/client.rb', line 165 def requests @_requests ||= [] end |
#required_arguments ⇒ Object
161 162 163 |
# File 'lib/cistern/client.rb', line 161 def required_arguments @_required_arguments ||= [] end |
#requires(*args) ⇒ Object
169 170 171 |
# File 'lib/cistern/client.rb', line 169 def requires(*args) self.required_arguments.concat(args) end |
#reset! ⇒ Object
227 228 229 |
# File 'lib/cistern/client.rb', line 227 def reset! self.const_get(:Mock).reset! end |
#setup ⇒ Object
193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/cistern/client.rb', line 193 def setup return true if @_setup requests.each do |klass| name = klass.service_method || Cistern::String.camelize(Cistern::String.demodulize(klass.name)) Cistern::Request.service_request(self, klass, name) end collections.each do |klass| name = klass.service_method || Cistern::String.underscore(klass.name.gsub("#{self.name}::", "").gsub("::", "")) Cistern::Collection.service_collection(self, klass, name) end models.each do |klass| name = klass.service_method || Cistern::String.underscore(klass.name.gsub("#{self.name}::", "").gsub("::", "")) Cistern::Model.service_model(self, klass, name) end @_setup = true end |
#unmock! ⇒ Object
147 |
# File 'lib/cistern/client.rb', line 147 def unmock!; @mocking = false; end |
#validate_options(options = {}) ⇒ Object
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/cistern/client.rb', line 177 def (={}) = Cistern::Hash.slice(, *required_arguments) = required_arguments - .keys unless .empty? raise "Missing required options: #{missing_required_options.inspect}" end = .keys - (required_arguments + recognized_arguments) unless .empty? raise "Unrecognized options: #{unrecognized_options.inspect}" end end |