class SmsKit::Mobimex

Constants

HTTP_ENDPOINT
RESPONSE_FORMATS
ROUTE_AFRICA

Public Instance Methods

deliver() click to toggle source

response json looks like this: {“procedure”:“SMS Feed”,“result”:1,“description”:“DONE: SMS is in the send queue.”}

# File lib/sms_kit/providers/mobimex.rb, line 14
def deliver
  response = post params
  if response.body.length > 1
    json = JSON.parse(response.body)
    json['result'].to_i == 1
  else
    raise DeliveryError, "Delivery failed (#{response.body})"
  end
end
params() click to toggle source
# File lib/sms_kit/providers/mobimex.rb, line 24
def params
  {
    user:        config.username,
    pass:        config.password,
    dlr:         data[:dlr_profile] || 0,
    xml:         response_format,
    from_number: data[:from] || config.sender,
    number:      data[:to],
    message:     data[:text],
    idd:         data[:idd] || 0,
    im:          data[:im] || 0,
    route:       data[:route] || config.route,
    type:        data[:type] || 'text'
  }.reject { |k, v| v.nil? }
end
post(payload) click to toggle source
# File lib/sms_kit/providers/mobimex.rb, line 44
def post payload
  connection.post do |req|
    req.url uri.path
    req.headers['Content-Type'] = 'application/json'
    req.body = payload.to_json
  end
end
response_format() click to toggle source
# File lib/sms_kit/providers/mobimex.rb, line 40
def response_format
  RESPONSE_FORMATS.fetch data[:format], :json
end