Class: Genba::Client::Keys

Inherits:
Object
  • Object
show all
Defined in:
lib/genba/client/keys.rb

Overview

Keys client

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Keys

Returns a new instance of Keys.



7
8
9
# File 'lib/genba/client/keys.rb', line 7

def initialize(client)
  @client = client
end

Instance Method Details

#black_list(keys = nil, headers = {}) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
# File 'lib/genba/client/keys.rb', line 47

def black_list(keys = nil, headers = {})
  raise 'Blacklist keys should be array' unless keys.is_a?(Array)
  raise 'Blacklist keys should be a KeyBlackListRequest class' unless key_black_list_request?(keys)

  keys.each do |k|
    raise k.errors.full_messages.to_s unless k.valid?
  end

  payload = keys.map(&:to_genba_json_payload)
  @client.rest_post_with_token('/blackListKeys', payload, headers)
end

#get_key_code_status(key_code, params = {}, headers = {}) ⇒ Object



26
27
28
29
30
31
# File 'lib/genba/client/keys.rb', line 26

def get_key_code_status(key_code, params = {}, headers = {})
  payload = params.merge(
    keyCode: key_code
  )
  @client.rest_get_with_token('/keys', payload, headers)
end

#get_key_status(key_id, params = {}, headers = {}) ⇒ Object



33
34
35
36
37
38
# File 'lib/genba/client/keys.rb', line 33

def get_key_status(key_id, params = {}, headers = {})
  payload = params.merge(
    id: key_id
  )
  @client.rest_get_with_token('/keys', payload, headers)
end

#get_keys(sku_id, quantity = 1, params = {}, headers = {}) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/genba/client/keys.rb', line 18

def get_keys(sku_id, quantity = 1, params = {}, headers = {})
  payload = params.merge(
    skuId: sku_id,
    quantity: quantity
  )
  @client.rest_get_with_token('/keys', payload, headers)
end

#get_report_usage(keys = nil, headers = {}) ⇒ Object



40
41
42
43
44
45
# File 'lib/genba/client/keys.rb', line 40

def get_report_usage(keys = nil, headers = {})
  raise 'ReportUsage keys should be array' unless keys.is_a?(Array)
  raise 'ReportUseag keys should be a KeyReportRequest class' unless key_report_request?(keys)
  payload = keys.map(&:to_genba_json_payload)
  @client.rest_post_with_token('/keyReport', payload, headers)
end

#get_test_keys(sku_id, headers = {}) ⇒ Object



11
12
13
14
15
16
# File 'lib/genba/client/keys.rb', line 11

def get_test_keys(sku_id, headers = {})
  params = {
    skuId: sku_id
  }
  @client.rest_get_with_token('/testKeys', params, headers)
end