class Africansms::Client

Attributes

params[R]

Public Class Methods

new(params) click to toggle source
# File lib/africansms/client.rb, line 7
def initialize(params)
  @params = params
end

Public Instance Methods

send_message() click to toggle source
# File lib/africansms/client.rb, line 11
def send_message
  raise(AfricansmsError, 'The message to send should not be empty') unless valid_message?

  response = RestClient.post(base_url, request_params, request_header)
  response.body
rescue StandardError => e
  e
end

Private Instance Methods

base_url() click to toggle source
# File lib/africansms/client.rb, line 36
def base_url
  if params[:mode].eql?('live')
    'https://api.africastalking.com/version1/messaging'
  else
    'https://api.sandbox.africastalking.com/version1/messaging'
  end
end
request_header() click to toggle source
# File lib/africansms/client.rb, line 29
def request_header
  {
    content_type: 'application/x-www-form-urlencoded',
    apiKey: Africansms.configuration.api_key!
  }
end
request_params() click to toggle source
# File lib/africansms/client.rb, line 22
def request_params
  params.merge(
    username: Africansms.configuration.username!,
    from: Africansms.configuration.shortcode!
  )
end
valid_message?() click to toggle source
# File lib/africansms/client.rb, line 44
def valid_message?
  params[:message] && !params[:message].empty?
end