class YaKassa::V3::Client::Base

Attributes

body[R]
idempotence_key[R]
url[R]

Public Class Methods

new(url, body = nil, idempotence_key = nil) click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 7
def initialize(url, body = nil, idempotence_key = nil)
  @url = url
  @body = body
  @idempotence_key = idempotence_key
end

Public Instance Methods

request() click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 13
def request
  response = send
  { code: response.code, body: response_body(response), headers: response.headers}
end

Protected Instance Methods

auth() click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 28
def auth
  { username: shop_id, password: secret_key } 
end
headers() click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 36
def headers
  {
    'Content-Type' => 'application/json',
    'Idempotence-Key' => @idempotence_key
  }
end
idempotence?() click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 32
def idempotence?
  @idempotence_key.present?
end
response_body(response) click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 20
def response_body(response)
  response.body
end
send() click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 24
def send
  raise 'Not implemented method'
end

Private Instance Methods

secret_key() click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 49
def secret_key
  ::YaKassa::V3::Settings.secret_key
end
shop_id() click to toggle source
# File lib/ya_kassa/v3/client/base.rb, line 45
def shop_id
  ::YaKassa::V3::Settings.shop_id
end