class SmsKit::SmsTrade

Constants

ERROR_CODES
HTTP_ENDPOINT
ROUTE_BASIC
ROUTE_DIRECT
ROUTE_GOLD

Public Instance Methods

default_params() click to toggle source
# File lib/sms_kit/providers/sms_trade.rb, line 59
def default_params
  {
    key:    config.gateway_key,
    from:   config.sender,
    route:  config.route,
    concat: 1,
    dlr:    1
  }
end
deliver() click to toggle source
# File lib/sms_kit/providers/sms_trade.rb, line 27
def deliver
  response = post URI.encode_www_form params

  if 'ERROR_LOGIN' == response.body
    raise DeliveryError, "Login failed (ERROR_LOGIN)"
  end

  parsed_response = response.body.split "\n"
  status     = parsed_response.shift
  message_id = parsed_response.shift

  if '100' == status
    message_id.to_i
  else
    raise DeliveryError, "#{ERROR_CODES[status.to_i]} (#{status})"
  end
end
param_names() click to toggle source
# File lib/sms_kit/providers/sms_trade.rb, line 52
def param_names
  [
    :message, :to, :from, :route, :dlr, :message_id,
    :debug, :cost, :count, :response, :ref, :concat, :senddata
  ]
end
params() click to toggle source
# File lib/sms_kit/providers/sms_trade.rb, line 45
def params
  default_params.merge(params_from_data).tap do |p|
    p[:message_id] ||= 1
    p[:message]    ||= data[:text]
  end
end
params_from_data() click to toggle source
# File lib/sms_kit/providers/sms_trade.rb, line 69
def params_from_data
  data.select { |k, _| param_names.include? k.to_sym }
end