class TapPay::Request

Public Class Methods

post(url, params = {}) { |res_json| ... } click to toggle source
# File lib/tappay/request.rb, line 8
def self.post(url, params = {}, &block)
  payload = default_params.merge(params).to_json
  uri     = URI(url)
  req     = Net::HTTP::Post.new(uri)

  req['Content-Type'] = 'application/json'
  req['x-api-key'] = params[:partner_key] || TapPay.partner_key
  req.body = payload

  res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http|
    http.request(req)
  }
  res_json = JSON.parse(res.body)

  block_given? ? yield(res_json) : res_json
end

Private Class Methods

default_params() click to toggle source
# File lib/tappay/request.rb, line 25
def self.default_params
  {
    partner_key: TapPay.partner_key
  }
end