class SmsGlobal::Object::Request
Public Class Methods
delete(client, url, action)
click to toggle source
# File lib/sms_global/object/request.rb, line 22 def self.delete(client, url, action) request(:delete, client, url, action) end
get(client, url, action, params)
click to toggle source
# File lib/sms_global/object/request.rb, line 10 def self.get(client, url, action, params) request(:get, client, url, action, params) end
patch(client, url, action, params)
click to toggle source
# File lib/sms_global/object/request.rb, line 18 def self.patch(client, url, action, params) request(:patch, client, url, action, params) end
post(client, url, action, params)
click to toggle source
# File lib/sms_global/object/request.rb, line 14 def self.post(client, url, action, params) request(:post, client, url, action, params) end
Private Class Methods
convert(request = {})
click to toggle source
# File lib/sms_global/object/request.rb, line 56 def self.convert(request = {}) result = {} request.each do |key, value| result[key.to_s.to_camel_case] = value end return result.to_json end
request(method, client, url, action, params = {})
click to toggle source
# File lib/sms_global/object/request.rb, line 28 def self.request(method, client, url, action, params = {}) send do uri = URI("https://#{url}") https = Net::HTTP.new(uri.host, uri.port); https.use_ssl = true request = Object.const_get("Net::HTTP::#{method.to_s.capitalize}").new(uri) request['Content-Type'] = 'application/json' request['Accept'] = 'application/json' request['Authorization'] = build_authorization(client, method, action) request.body = convert(params) if method == :post || method == :patch https.request(request) end end
send() { || ... }
click to toggle source
# File lib/sms_global/object/request.rb, line 65 def self.send begin request = yield response = Response.new(request.read_body.to_s).results if Response.success?(request.code.to_i) return response elsif Response.deleted?(request.code.to_i) return true elsif Response.unauthorized?(request.code.to_i) raise UnauthorizedException.new else raise ApiException.new("#{request.code} - API call failed") end end end