module Cistern::Client::ClassMethods
Public Instance Methods
collections()
click to toggle source
# File lib/cistern/client.rb, line 227 def collections @collections ||= [] end
mock!()
click to toggle source
# File lib/cistern/client.rb, line 215 def mock! @mocking = true end
mocking?()
click to toggle source
# File lib/cistern/client.rb, line 219 def mocking? @mocking end
models()
click to toggle source
# File lib/cistern/client.rb, line 231 def models @_models ||= [] end
new(options = {})
click to toggle source
# File lib/cistern/client.rb, line 309 def new(options = {}) setup validate_options(options) const_get(self.mocking? ? :Mock : :Real).new(options) end
recognized_arguments()
click to toggle source
# File lib/cistern/client.rb, line 239 def recognized_arguments @_recognized_arguments ||= [] end
recognizes(*args)
click to toggle source
# File lib/cistern/client.rb, line 255 def recognizes(*args) recognized_arguments.concat(args) end
requests()
click to toggle source
# File lib/cistern/client.rb, line 247 def requests @_requests ||= [] end
required_arguments()
click to toggle source
# File lib/cistern/client.rb, line 243 def required_arguments @_required_arguments ||= [] end
requires(*args)
click to toggle source
# File lib/cistern/client.rb, line 251 def requires(*args) required_arguments.concat(args) end
reset!()
click to toggle source
# File lib/cistern/client.rb, line 316 def reset! const_get(:Mock).reset! end
setup()
click to toggle source
# 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()
click to toggle source
# File lib/cistern/client.rb, line 235 def singularities @_singularities ||= [] end
unmock!()
click to toggle source
# File lib/cistern/client.rb, line 223 def unmock! @mocking = false end
validate_options(options = {})
click to toggle source
# File lib/cistern/client.rb, line 259 def validate_options(options = {}) required_options = Cistern::Hash.slice(options, *required_arguments) missing_required_options = required_arguments - required_options.keys unless missing_required_options.empty? fail "Missing required options: #{missing_required_options.inspect}" end unrecognized_options = options.keys - (required_arguments + recognized_arguments) unless unrecognized_options.empty? fail "Unrecognized options: #{unrecognized_options.inspect}" end end