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
- #singularities ⇒ Object
- #unmock! ⇒ Object
- #validate_options(options = {}) ⇒ Object
Instance Method Details
#collections ⇒ Object
227 228 229 |
# File 'lib/cistern/client.rb', line 227 def collections @collections ||= [] end |
#mock! ⇒ Object
215 216 217 |
# File 'lib/cistern/client.rb', line 215 def mock! @mocking = true end |
#mocking? ⇒ Boolean
219 220 221 |
# File 'lib/cistern/client.rb', line 219 def mocking? @mocking end |
#models ⇒ Object
231 232 233 |
# File 'lib/cistern/client.rb', line 231 def models @_models ||= [] end |
#new(options = {}) ⇒ Object
309 310 311 312 313 314 |
# File 'lib/cistern/client.rb', line 309 def new( = {}) setup () const_get(self.mocking? ? :Mock : :Real).new() end |
#recognized_arguments ⇒ Object
239 240 241 |
# File 'lib/cistern/client.rb', line 239 def recognized_arguments @_recognized_arguments ||= [] end |
#recognizes(*args) ⇒ Object
255 256 257 |
# File 'lib/cistern/client.rb', line 255 def recognizes(*args) recognized_arguments.concat(args) end |
#requests ⇒ Object
247 248 249 |
# File 'lib/cistern/client.rb', line 247 def requests @_requests ||= [] end |
#required_arguments ⇒ Object
243 244 245 |
# File 'lib/cistern/client.rb', line 243 def required_arguments @_required_arguments ||= [] end |
#requires(*args) ⇒ Object
251 252 253 |
# File 'lib/cistern/client.rb', line 251 def requires(*args) required_arguments.concat(args) end |
#reset! ⇒ Object
316 317 318 |
# File 'lib/cistern/client.rb', line 316 def reset! const_get(:Mock).reset! end |
#setup ⇒ Object
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 |
# File 'lib/cistern/client.rb', line 275 def setup return true if @_setup requests.each do |klass| name = klass.cistern_method || Cistern::String.camelize(Cistern::String.demodulize(klass.name)) Cistern::Request.cistern_request(self, klass, name) end collections.each do |klass| name = klass.cistern_method || Cistern::String.underscore(klass.name.gsub("#{self.name}::", '').gsub('::', '')) Cistern::Collection.cistern_collection(self, klass, name) end models.each do |klass| name = klass.cistern_method || Cistern::String.underscore(klass.name.gsub("#{self.name}::", '').gsub('::', '')) Cistern::Model.cistern_model(self, klass, name) end singularities.each do |klass| name = klass.cistern_method || Cistern::String.underscore(klass.name.gsub("#{self.name}::", '').gsub('::', '')) Cistern::Singular.cistern_singular(self, klass, name) end @_setup = true end |
#singularities ⇒ Object
235 236 237 |
# File 'lib/cistern/client.rb', line 235 def singularities @_singularities ||= [] end |
#unmock! ⇒ Object
223 224 225 |
# File 'lib/cistern/client.rb', line 223 def unmock! @mocking = false end |
#validate_options(options = {}) ⇒ Object
259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 |
# File 'lib/cistern/client.rb', line 259 def ( = {}) = Cistern::Hash.slice(, *required_arguments) = required_arguments - .keys unless .empty? fail "Missing required options: #{.inspect}" end = .keys - (required_arguments + recognized_arguments) unless .empty? fail "Unrecognized options: #{.inspect}" end end |