class AfricaTalking::Client
Constants
- API_BASE_URL
- API_BASE_URL_SANDBOX
Public Class Methods
new(username, apiKey, sandbox_mode = false)
click to toggle source
# File lib/africa_talking/client.rb, line 11 def initialize(username, apiKey, sandbox_mode = false) @username = username @apiKey = apiKey @sandbox_mode = sandbox_mode end
Public Instance Methods
client_headers()
click to toggle source
# File lib/africa_talking/client.rb, line 48 def client_headers hsh = { 'User-Agent': "favour121/AfricaTalking-#{AfricaTalking::VERSION}", 'Content-Type': 'application/x-www-form-urlencoded', 'accept': 'application/json', 'apiKey': @apiKey } hsh end
client_payload()
click to toggle source
# File lib/africa_talking/client.rb, line 44 def client_payload {'username': self.username} end
send_request(sms_request)
click to toggle source
# File lib/africa_talking/client.rb, line 21 def send_request(sms_request) if @sandbox_mode url = API_BASE_URL_SANDBOX + sms_request.route else url = API_BASE_URL + sms_request.route end method = sms_request.http_method payload = {} headers = client_headers.merge(sms_request.headers) headers = headers.merge(params: client_payload) if sms_request.http_method == :get payload = client_payload.merge(sms_request.payload) if method != :get begin response = RestClient::Request.execute(method: method, url: url, payload: payload, headers: headers) rescue RestClient::ExceptionWithResponse => err raise err end response_hash = JSON.parse(response.body) sms_request.response_class.new(response_hash) end
username()
click to toggle source
# File lib/africa_talking/client.rb, line 17 def username @sandbox_mode ? 'sandbox' : @username end