Class: BuckarooClient::Service::InvoiceSpecification

Inherits:
Object
  • Object
show all
Defined in:
lib/buckaroo_client/service/invoice_specification.rb

Defined Under Namespace

Classes: InvoiceLineData, InvoiceLines

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ InvoiceSpecification

Returns a new instance of InvoiceSpecification.



6
7
8
9
10
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 6

def initialize(args = {})
  args.each do |key, value|
    self.send "#{key}=", value
  end
end

Instance Method Details

#actionObject



16
17
18
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 16

def action
  'ExtraInfo'
end

#add_invoice_line(data) ⇒ Object



20
21
22
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 20

def add_invoice_line(data)
  invoice_lines.add_line('InvoiceLine', data)
end

#add_sub_total_line(data) ⇒ Object



24
25
26
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 24

def add_sub_total_line(data)
  invoice_lines.add_line('SubTotalLine', data)
end

#add_total_line(data) ⇒ Object



28
29
30
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 28

def add_total_line(data)
  invoice_lines.add_line('TotalLine', data)
end

#gateway_attributesObject



36
37
38
39
40
41
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 36

def gateway_attributes
  output = {
    'service_InvoiceSpecification_action' => action,
  }
  output.merge(invoice_lines.gateway_attributes)
end

#invoice_linesObject



32
33
34
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 32

def invoice_lines
  @invoice_lines ||= InvoiceLines.new
end

#servicecodeObject



12
13
14
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 12

def servicecode
  'InvoiceSpecification'
end