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
110 111 112 |
# File 'lib/cistern/client.rb', line 110 def collections @collections ||= [] end |
#mock! ⇒ Object
106 |
# File 'lib/cistern/client.rb', line 106 def mock!; @mocking = true; end |
#mocking? ⇒ Boolean
107 |
# File 'lib/cistern/client.rb', line 107 def mocking?; @mocking; end |
#models ⇒ Object
114 115 116 |
# File 'lib/cistern/client.rb', line 114 def models @_models ||= [] end |
#new(options = {}) ⇒ Object
181 182 183 184 185 186 |
# File 'lib/cistern/client.rb', line 181 def new(={}) setup () self.const_get(self.mocking? ? :Mock : :Real).new() end |
#recognized_arguments ⇒ Object
118 119 120 |
# File 'lib/cistern/client.rb', line 118 def recognized_arguments @_recognized_arguments ||= [] end |
#recognizes(*args) ⇒ Object
134 135 136 |
# File 'lib/cistern/client.rb', line 134 def recognizes(*args) self.recognized_arguments.concat(args) end |
#requests ⇒ Object
126 127 128 |
# File 'lib/cistern/client.rb', line 126 def requests @_requests ||= [] end |
#required_arguments ⇒ Object
122 123 124 |
# File 'lib/cistern/client.rb', line 122 def required_arguments @_required_arguments ||= [] end |
#requires(*args) ⇒ Object
130 131 132 |
# File 'lib/cistern/client.rb', line 130 def requires(*args) self.required_arguments.concat(args) end |
#reset! ⇒ Object
188 189 190 |
# File 'lib/cistern/client.rb', line 188 def reset! self.const_get(:Mock).reset! end |
#setup ⇒ Object
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/cistern/client.rb', line 154 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
108 |
# File 'lib/cistern/client.rb', line 108 def unmock!; @mocking = false; end |
#validate_options(options = {}) ⇒ Object
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
# File 'lib/cistern/client.rb', line 138 def (={}) = Cistern::Hash.slice(, *required_arguments) = required_arguments - .keys unless .empty? raise "Missing required options: #{.inspect}" end = .keys - (required_arguments + recognized_arguments) unless .empty? raise "Unrecognized options: #{.inspect}" end end |