class Superfaktura::BaseApi

Constants

SANDBOX_SUPERFAKTURA_URL
SUPERFAKTURA_URL

Public Class Methods

client() click to toggle source
# File lib/superfaktura/base_api.rb, line 6
def self.client
  Faraday.new(url: superfaktura_url) do |builder|
    builder.request :url_encoded
    builder.request :json
    builder.response :json

    builder.adapter Faraday.default_adapter
  end
end
file(uri) click to toggle source
# File lib/superfaktura/base_api.rb, line 49
def self.file(uri)
  response = file_client.get(uri) do |request|
    request.headers['Authorization'] = "SFAPI email=#{Superfaktura.config.email}&apikey=#{Superfaktura.config.token}"
  end
  raise Superfaktura::Error, response.body['error_message'] unless response.status == 200

  response.body
end
file_client() click to toggle source
# File lib/superfaktura/base_api.rb, line 16
def self.file_client
  Faraday.new(url: superfaktura_url) do |builder|
    builder.request :url_encoded
    builder.request :json

    builder.adapter Faraday.default_adapter
  end
end
get(path, payload = nil) click to toggle source
# File lib/superfaktura/base_api.rb, line 41
def self.get(path, payload = nil)
  request(path, 'GET', payload)
end
post(path, payload) click to toggle source
# File lib/superfaktura/base_api.rb, line 37
def self.post(path, payload)
  request(path, 'POST', payload)
end
request(uri, method = 'POST', payload = nil) click to toggle source
# File lib/superfaktura/base_api.rb, line 25
def self.request(uri, method = 'POST', payload = nil)
  response = client.public_send(method.downcase.to_sym) do |request|
    request.headers['Authorization'] = "SFAPI email=#{Superfaktura.config.email}&apikey=#{Superfaktura.config.token}"

    request.url(uri)
    request.body = "data=#{payload.to_json}" if payload
  end
  raise Superfaktura::Error, response.body['error_message'] unless response.body['error'].zero?

  response.body
end
superfaktura_url() click to toggle source
# File lib/superfaktura/base_api.rb, line 45
def self.superfaktura_url
  Superfaktura.config.sandbox ? SANDBOX_SUPERFAKTURA_URL : SUPERFAKTURA_URL
end