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
225 226 227 |
# File 'lib/cistern/client.rb', line 225 def collections @collections ||= [] end |
#mock! ⇒ Object
213 214 215 |
# File 'lib/cistern/client.rb', line 213 def mock! @mocking = true end |
#mocking? ⇒ Boolean
217 218 219 |
# File 'lib/cistern/client.rb', line 217 def mocking? @mocking end |
#models ⇒ Object
229 230 231 |
# File 'lib/cistern/client.rb', line 229 def models @_models ||= [] end |
#new(options = {}) ⇒ Object
307 308 309 310 311 312 |
# File 'lib/cistern/client.rb', line 307 def new( = {}) setup () const_get(self.mocking? ? :Mock : :Real).new() end |
#recognized_arguments ⇒ Object
237 238 239 |
# File 'lib/cistern/client.rb', line 237 def recognized_arguments @_recognized_arguments ||= [] end |
#recognizes(*args) ⇒ Object
253 254 255 |
# File 'lib/cistern/client.rb', line 253 def recognizes(*args) recognized_arguments.concat(args) end |
#requests ⇒ Object
245 246 247 |
# File 'lib/cistern/client.rb', line 245 def requests @_requests ||= [] end |
#required_arguments ⇒ Object
241 242 243 |
# File 'lib/cistern/client.rb', line 241 def required_arguments @_required_arguments ||= [] end |
#requires(*args) ⇒ Object
249 250 251 |
# File 'lib/cistern/client.rb', line 249 def requires(*args) required_arguments.concat(args) end |
#reset! ⇒ Object
314 315 316 |
# File 'lib/cistern/client.rb', line 314 def reset! const_get(:Mock).reset! end |
#setup ⇒ Object
273 274 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 |
# File 'lib/cistern/client.rb', line 273 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
233 234 235 |
# File 'lib/cistern/client.rb', line 233 def singularities @_singularities ||= [] end |
#unmock! ⇒ Object
221 222 223 |
# File 'lib/cistern/client.rb', line 221 def unmock! @mocking = false end |
#validate_options(options = {}) ⇒ Object
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 |
# File 'lib/cistern/client.rb', line 257 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 |