Class: EInvoice::Info

Inherits:
Invoice show all
Defined in:
lib/e_invoice/info.rb

Instance Attribute Summary

Attributes inherited from Invoice

#response_body

Instance Method Summary collapse

Methods inherited from Invoice

#basic_params, #response_code

Constructor Details

#initialize(payload, invoice_number, invoice_date, invoice_time) ⇒ Info

Returns a new instance of Info.



5
6
7
8
9
10
# File 'lib/e_invoice/info.rb', line 5

def initialize(payload, invoice_number, invoice_date, invoice_time)
  super(payload)
  @invoice_number = invoice_number
  @invoice_date = invoice_date
  @invoice_time = invoice_time
end

Instance Method Details

#detailsObject



22
23
24
25
26
27
28
29
30
31
# File 'lib/e_invoice/info.rb', line 22

def details
  seller_name = @response_body["sellerName"]
  @response_body["details"].map do |d|
    d["seller_name"] = seller_name
    d["invoice_number"] = @invoice_number
    d["date"] = @invoice_date
    d["time"] = @invoice_time
    d
  end
end

#requestObject



12
13
14
15
16
17
18
19
20
# File 'lib/e_invoice/info.rb', line 12

def request
  params = basic_params
  params[:action] = EInvoice::DETAIL_ACTION
  params[:invNum] = @invoice_number
  params[:invDate] = @invoice_date
  response = HTTPClient.new.post(EInvoice::URL + EInvoice::DETAIL_PATH, params)
  @response_body = JSON.parse(response.body)
  self
end