class GlobeLabs::Client

Public Instance Methods

charge(token, options = {}) click to toggle source
# File lib/globe_labs/client.rb, line 11
def charge(token, options = {})
  post(@api_host, charge_uri(token), build_charge_params(options))
end
last_reference_code() click to toggle source
# File lib/globe_labs/client.rb, line 15
def last_reference_code
  get(@api_host, reference_code_uri, {app_id: @key,
                                       app_secret: @secret})
end
locate(token, number) click to toggle source
# File lib/globe_labs/client.rb, line 7
def locate(token, number)
  get(@api_host, locate_uri, build_locate_params(token, number), 'json')
end
send_message(token, number, message) click to toggle source
# File lib/globe_labs/client.rb, line 3
def send_message(token, number, message)
  post(@api_host, send_sms_uri(token), build_send_message_params(number, message), 'json')
end

Private Instance Methods

build_charge_params(options) click to toggle source
# File lib/globe_labs/client.rb, line 52
def build_charge_params(options)
  {
    amount: options[:amount],
    description: options[:description],
    endUserId: "tel:+63#{options[:endUserId]}",
    referenceCode: "#{@short_code}#{options[:referenceCode]}",
    transactionOperationStatus: 'Charged'
  }
end
build_locate_params(token, number) click to toggle source
# File lib/globe_labs/client.rb, line 40
def build_locate_params(token, number)
  {
    "access_token": token,
    "address": "0#{number}",
    "requestedAccuracy": "100"
  }
end
build_send_message_params(number, message) click to toggle source
# File lib/globe_labs/client.rb, line 25
def build_send_message_params(number, message)
  {
    "outboundSMSMessageRequest": {
      "clientCorrelator": "#{rand(10 ** 6)}",
      "senderAddress": "#{@short_code}",
      "outboundSMSTextMessage": {"message": "#{message}"},
      "address": "tel:+63#{number}"
    }
  }
end
charge_uri(token) click to toggle source
# File lib/globe_labs/client.rb, line 48
def charge_uri(token)
  "/payment/v1/transactions/amount?access_token=#{token}"
end
locate_uri() click to toggle source
# File lib/globe_labs/client.rb, line 36
def locate_uri
  "/location/#{@version}/queries/location"
end
reference_code_uri() click to toggle source
# File lib/globe_labs/client.rb, line 62
def reference_code_uri
  '/payment/v1/transactions/getLastRefCode'
end
send_sms_uri(token) click to toggle source
# File lib/globe_labs/client.rb, line 21
def send_sms_uri(token)
  "/smsmessaging/#{@version}/outbound/#{@short_code}/requests?access_token=#{token}"
end