class KeyReportRequest

KeyReportRequest

Attributes

country_iso[RW]
e_tailer_buying_price[RW]
e_tailer_buying_price_currency_code[RW]
e_tailer_selling_price_currency_code[RW]
e_tailer_selling_price_gross[RW]
e_tailer_selling_price_net[RW]
e_tailer_subsidiary[RW]
key[RW]
key_id[RW]
sale_date[RW]
user_ip_address[RW]

Public Class Methods

new( key: nil, key_id: nil, country_iso:, user_ip_address:, sale_date: nil, e_tailer_buying_price:, e_tailer_buying_price_currency_code:, e_tailer_selling_price_net:, e_tailer_selling_price_gross:, e_tailer_selling_price_currency_code:, e_tailer_subsidiary: nil ) click to toggle source
# File lib/genba/key_report_request.rb, line 11
def initialize(
  key: nil, key_id: nil, country_iso:, user_ip_address:, sale_date: nil,
  e_tailer_buying_price:, e_tailer_buying_price_currency_code:,
  e_tailer_selling_price_net:, e_tailer_selling_price_gross:, e_tailer_selling_price_currency_code:,
  e_tailer_subsidiary: nil
)
  @key = key
  @key_id = key_id
  @country_iso = country_iso
  @user_ip_address = user_ip_address
  @sale_date = sale_date
  @e_tailer_buying_price = e_tailer_buying_price
  @e_tailer_buying_price_currency_code = e_tailer_buying_price_currency_code
  @e_tailer_selling_price_net = e_tailer_selling_price_net
  @e_tailer_selling_price_gross = e_tailer_selling_price_gross
  @e_tailer_selling_price_currency_code = e_tailer_selling_price_currency_code
  @e_tailer_subsidiary = e_tailer_subsidiary
  raise 'at least one of key or key_id' if key.nil? && key_id.nil?
end

Public Instance Methods

to_genba_json_payload() click to toggle source
# File lib/genba/key_report_request.rb, line 31
def to_genba_json_payload
  payload ={
    key: @key,
    keyId: @key_id,
    countryISO: @country_iso,
    userIpAddress: @user_ip_address,
    ETailerBuyingPrice: @e_tailer_buying_price,
    ETailerBuyingPriceCurrencyCode: @e_tailer_buying_price_currency_code,
    ETailerSellingPriceNet: @e_tailer_selling_price_net,
    ETailerSellingPriceGross: @e_tailer_selling_price_gross,
    ETailerSellingPriceCurrencyCode: @e_tailer_selling_price_currency_code,
    EtailerSubsidiary: @e_tailer_subsidiary
  }.select { |_, v| !v.nil? }

  payload[:saleDate] = @sale_date.strftime('%FT%T') if @sale_date
  payload
end