class TWW::REST

Constants

ENDPOINTS

Public Instance Methods

deliver(phone, message, extras = {}) click to toggle source
# File lib/tww/rest.rb, line 15
def deliver(phone, message, extras = {})
  request(endpoint, deliver_params(phone, message, extras))
end

Private Instance Methods

deliver_params(phone, message, extras) click to toggle source
# File lib/tww/rest.rb, line 25
def deliver_params(phone, message, extras)
  {
    NumUsu: config[:username],
    Senha: config[:password],
    SeuNum: config[:from],
    Celular: phone,
    Mensagem: message
  }.merge(extras)
end
endpoint() click to toggle source
# File lib/tww/rest.rb, line 21
def endpoint
  ENDPOINTS[config.fetch(:endpoint, :primary)]
end
request(url, params) click to toggle source
# File lib/tww/rest.rb, line 35
def request(url, params)
  uri = URI(url)
  use_ssl = uri.scheme == 'https'

  Net::HTTP.start(uri.host, uri.port, use_ssl: use_ssl) do |http|
    post = Net::HTTP::Post.new(uri)
    post.set_form_data(params)
    res = http.request(post)

    Response.parse(res.body)
  end
end