class Smess::Smsglobal

Attributes

password[RW]
sender_id[RW]
username[RW]

Public Instance Methods

deliver() click to toggle source
# File lib/smess/outputs/smsglobal.rb, line 7
def deliver
  request.url = url
  request.body = params

  http_post request
end
validate_config() click to toggle source
# File lib/smess/outputs/smsglobal.rb, line 15
def validate_config
  @username = config.fetch(:username)
  @password = config.fetch(:password)
  @sender_id = config.fetch(:sender_id, Smess.config.default_sender_id)
end

Private Instance Methods

normal_result(response) click to toggle source
# File lib/smess/outputs/smsglobal.rb, line 39
def normal_result(response)
  first_response = response.body.split(/\r\n/).first.split(";")
  response_code = first_response.first.split(':').last.to_i
  message_id = first_response.last.split('SMSGlobalMsgID:').last
  # Successful response
  {
    message_id: message_id,
    response_code: response_code.to_s,
    response: response.body,
    destination_address: sms.to,
    data: result_data
  }
end
params() click to toggle source
# File lib/smess/outputs/smsglobal.rb, line 27
def params
  @params ||= {
    action: "sendsms",
    user: username,
    password: password,
    from: from,
    to: sms.to,
    text: sms.message.strip_nongsm_chars,
    maxsplit: "3"
  }
end
url() click to toggle source
# File lib/smess/outputs/smsglobal.rb, line 23
def url
  "https://www.smsglobal.com/http-api.php"
end