class OpenPayU::Connection

Public Class Methods

delete(endpoint, data) click to toggle source
# File lib/openpayu/connection.rb, line 35
def self.delete(endpoint, data)
  common_connection(endpoint, data, 'DELETE')
end
get(endpoint, data) click to toggle source
# File lib/openpayu/connection.rb, line 31
def self.get(endpoint, data)
  common_connection(endpoint, data, 'GET')
end
post(endpoint, data) click to toggle source
# File lib/openpayu/connection.rb, line 9
def self.post(endpoint, data)
  http, uri = build_url(endpoint)
  request = Net::HTTP::Post.new(uri.path)
  request = authenticate(request)
  request.body = data
  request['Content-Type'] =
    "application/#{OpenPayU::Configuration.data_format}"
  response = http.request(request)
  { response: response, request: request }
end
put(endpoint, data) click to toggle source
# File lib/openpayu/connection.rb, line 20
def self.put(endpoint, data)
  http, uri = build_url(endpoint)
  request = Net::HTTP::Put.new(uri.path)
  request = authenticate(request)
  request.body = data
  request['Content-Type'] =
    "application/#{OpenPayU::Configuration.data_format}"
  response = http.request(request)
  { response: response, request: request }
end

Private Class Methods

authenticate(request) click to toggle source
# File lib/openpayu/connection.rb, line 41
def self.authenticate(request)
  request.basic_auth(
    OpenPayU::Configuration.merchant_pos_id,
    OpenPayU::Configuration.signature_key
  )
  request
end
build_url(endpoint) click to toggle source
# File lib/openpayu/connection.rb, line 49
def self.build_url(endpoint)
  uri = URI.parse(Configuration.get_base_url + endpoint)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true if OpenPayU::Configuration.use_ssl?
  [http, uri]
end
common_connection(endpoint, data, method) click to toggle source
# File lib/openpayu/connection.rb, line 56
def self.common_connection(endpoint, data, method)
  http, uri = build_url(endpoint)
  request =
    if method == 'DELETE'
      Net::HTTP::Delete.new(uri.request_uri)
    else
      Net::HTTP::Get.new(uri.request_uri)
    end
  request = authenticate(request)
  request['Content-Type'] =
    "application/#{OpenPayU::Configuration.data_format}"
  response = http.request(request)
  { response: response, request: request }
end