class Spamer::Base

Constants

BASE_PATH
SITE_NAME

Public Class Methods

new(pub_key, pr_key, params = {}) click to toggle source
# File lib/spamer.rb, line 13
def initialize(pub_key, pr_key, params = {})
  @pub_key = pub_key
  @pr_key = pr_key
  @params = params
end

Public Instance Methods

send_sms(phone, message, params = {}) click to toggle source
# File lib/spamer.rb, line 19
def send_sms(phone, message, params = {})
  action = 'sendSMS'
  params = {
    sender: 'Info',
    datetime: '',
    sms_lifetime: 0,
    version: '3.0',
    action: action,
    phone: phone,
    text: message,
    key: @pub_key
  }.merge(@params).merge(params)

  params[:sum] = URI.encode(get_sum(params))
  send_request(action, params)
end

Private Instance Methods

get_sum(params) click to toggle source
# File lib/spamer.rb, line 38
def get_sum(params)
  str = Hash[params.sort].values.join('')
  str += @pr_key
  Digest::MD5.hexdigest(str)
end
send_request(action, params) click to toggle source
# File lib/spamer.rb, line 44
def send_request(action, params)
  req = BASE_PATH
  req += action
  req += '?'
  req += URI.encode_www_form(params)

  response = Net::HTTP.get_response(SITE_NAME, req)
  JSON.parse(response.body)
end