class Ekam::Client

Attributes

token[R]

Public Class Methods

new(token) click to toggle source
# File lib/ekam-ruby/client.rb, line 12
def initialize(token)
  @token = token
end

Public Instance Methods

close_shift!() click to toggle source
# File lib/ekam-ruby/client.rb, line 26
def close_shift!
  resource_url = "/v1/receipt_requests/close_retail_shift"
  post_resource(resource_url)
end
create_receipt_request!(params) click to toggle source
# File lib/ekam-ruby/client.rb, line 21
def create_receipt_request!(params)
  resource_url = "/v1/receipt_requests"
  post_resource(resource_url, params)
end
get_receipt_requests(params = {}) click to toggle source
# File lib/ekam-ruby/client.rb, line 16
def get_receipt_requests(params = {})
  resource_url = "/v1/receipt_requests"
  get_resource(resource_url, params)["items"]
end

Private Instance Methods

get_resource(resource_url, params = {}) click to toggle source
# File lib/ekam-ruby/client.rb, line 42
def get_resource(resource_url, params = {})
  response = self.class.get(resource_url, query: params, headers: request_headers)
  status = response.code
  if status != 200
    raise Ekam::Error.new(status, response["error"], params)
  end
  response
end
post_resource(resource_url, params = {}) click to toggle source
# File lib/ekam-ruby/client.rb, line 33
def post_resource(resource_url, params = {})
  response = self.class.post(resource_url, body: params.to_json, headers: request_headers)
  status = response.code
  if status != 201
    raise Ekam::Error.new(status, response["error"], params)
  end
  response
end
request_headers() click to toggle source
# File lib/ekam-ruby/client.rb, line 51
def request_headers
  {
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'X-Access-Token' => token
  }      
end