Class: Uiza::UizaClient
- Inherits:
-
Object
- Object
- Uiza::UizaClient
- Defined in:
- lib/uiza/uiza_client.rb
Instance Method Summary collapse
- #execute_request ⇒ Object
-
#initialize(url, method, headers, params, description_link) ⇒ UizaClient
constructor
A new instance of UizaClient.
Constructor Details
#initialize(url, method, headers, params, description_link) ⇒ UizaClient
Returns a new instance of UizaClient.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/uiza/uiza_client.rb', line 3 def initialize url, method, headers, params, description_link @uri = URI.parse url @description_link = description_link params ||= {} case method.to_s.downcase when "get" @uri.query = URI.encode_www_form params @request = Net::HTTP::Get.new @uri when "post" @request = Net::HTTP::Post.new @uri @request.body = JSON.dump params when "put" @request = Net::HTTP::Put.new @uri @request.body = JSON.dump params when "delete" @request = Net::HTTP::Delete.new @uri @request.body = JSON.dump params end @request.content_type = "application/json" headers.each do |key, value| @request[key] = value end end |
Instance Method Details
#execute_request ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/uiza/uiza_client.rb', line 30 def execute_request @http = Net::HTTP.start @uri.host, @uri.port, use_ssl: true @response = @http.request @request @response = JSON.parse @response.body code = @response["code"] = @response["message"] check_and_raise_error code, data = @response["data"] response = JSON.parse(data.to_json, object_class: Uiza::UizaOpenStruct) return response unless response if response.is_a?(Array) response.each(&:define_methods) else response.define_methods end response end |