module Polirb::Request

Protected Instance Methods

make_request(http_method, url, body={}) click to toggle source
# File lib/polirb/request.rb, line 25
def make_request(http_method, url, body={})
  raise 'Merchant Code and Authentication Code required!' unless @merchant_code && @authentication_code

  params    = URI.encode_www_form(body)

  headers = {
    'Authorization' => "Basic #{basic_auth(@merchant_code,@authentication_code)}"
  }

  if http_method == :get
    RestClient.get("#{url}?#{params}", headers)
  else
    RestClient.post(url, params, headers)
  end
end
request(*args) click to toggle source
# File lib/polirb/request.rb, line 16
def request(*args)
  resp = self.make_request(*args)

  hash = Hashie::Mash.new(JSON.parse(resp.body))
  raise Error.new(hash.error) if hash.error
  raise Error.new(hash.errors.join(',')) if hash.errors
  hash
end

Private Instance Methods

basic_auth(merchant_code,authentication_code) click to toggle source
# File lib/polirb/request.rb, line 43
def basic_auth(merchant_code,authentication_code)
  Base64.encode64("#{merchant_code}:#{authentication_code}").gsub("\n","")
end