Class: BuckarooClient::Service::InvoiceSpecification::InvoiceLines

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeInvoiceLines

Returns a new instance of InvoiceLines.



49
50
51
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 49

def initialize
  @lines = []
end

Instance Attribute Details

#linesObject

Returns the value of attribute lines.



47
48
49
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 47

def lines
  @lines
end

Instance Method Details

#add_line(type, data) ⇒ Object



53
54
55
56
57
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 53

def add_line(type, data)
  # Auto-increment line order value if not set by user
  data[:lineordering] ||= size + 1
  lines << [type, InvoiceLineData.new(data)]
end

#gateway_attributesObject



59
60
61
62
63
64
65
66
# File 'lib/buckaroo_client/service/invoice_specification.rb', line 59

def gateway_attributes
  output = {}
  line_type_count = Hash.new(0)
  lines.each do |type, line_data|
    output.store("service_InvoiceSpecification_#{type}_#{line_type_count[type] += 1}", line_data.gateway_string)
  end
  output
end