Module: Arke::Resource::Requests::ClassMethods
- Defined in:
- lib/arke/resource/requests.rb
Instance Method Summary collapse
- #delete(params = {}) ⇒ Object
- #deserialize(body) ⇒ Object
- #deserializer(&block) ⇒ Object
- #get(params = {}) ⇒ Object
- #handle(code, &block) ⇒ Object
- #handle_response(response) ⇒ Object
- #post(body = {}, params = {}) ⇒ Object
- #put(body = {}, params = {}) ⇒ Object
Instance Method Details
#delete(params = {}) ⇒ Object
27 28 29 |
# File 'lib/arke/resource/requests.rb', line 27 def delete(params={}) HTTParty.delete url(params) end |
#deserialize(body) ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/arke/resource/requests.rb', line 47 def deserialize(body) begin @deserializer.call(body) rescue => e raise Errors::DeserializationError.new(e) end end |
#deserializer(&block) ⇒ Object
23 24 25 |
# File 'lib/arke/resource/requests.rb', line 23 def deserializer(&block) @deserializer = block end |
#get(params = {}) ⇒ Object
35 36 37 |
# File 'lib/arke/resource/requests.rb', line 35 def get(params={}) handle_response(HTTParty.get url(params)) end |
#handle(code, &block) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/arke/resource/requests.rb', line 55 def handle(code, &block) self.response_handlers ||= {} raise Arke::Errors::MissingHandlerBlock unless block_given? case code when String, Integer, Fixnum self.response_handlers[code.to_i] = block return true when Range, Array code.to_a.each do |c| self.response_handlers[c.to_i] = block end return true else raise Errors::InvalidHandler. new("#{code.class.name} is an invalid class, please user an Integer, Fixnum, String, Range or Array") end end |
#handle_response(response) ⇒ Object
43 44 45 |
# File 'lib/arke/resource/requests.rb', line 43 def handle_response(response) self.response_handlers[response.code.to_i].call(response) end |
#post(body = {}, params = {}) ⇒ Object
31 32 33 |
# File 'lib/arke/resource/requests.rb', line 31 def post(body={}, params={}) handle_response(HTTParty.post(url(params.empty? ? body : params), body: body)) end |
#put(body = {}, params = {}) ⇒ Object
39 40 41 |
# File 'lib/arke/resource/requests.rb', line 39 def put(body={}, params={}) handle_response(HTTParty.put(url(params.empty? ? body : params), body: body)) end |