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