class Agris::Api::AccountsReceivables::Invoice

Constants

ATTRIBUTE_NAMES

Attributes

record_type[R]

Public Class Methods

from_xml_hash(hash) click to toggle source
Calls superclass method
# File lib/agris/api/accounts_receivables/invoice.rb, line 77
def self.from_xml_hash(hash)
  super.tap do |document|
    if hash['lineitems']
      document.line_items.concat(
        [hash['lineitems']['lineitem']]
          .flatten
          .map do |lineitem|
            LineItem.from_xml_hash(lineitem)
          end
      )
    end
  end
end
new(hash = {}) click to toggle source
Calls superclass method
# File lib/agris/api/accounts_receivables/invoice.rb, line 91
def initialize(hash = {})
  super

  @record_type = 'ACRI0'
  @line_items = []
  @general_ledger_details = []
end

Public Instance Methods

add_general_ledger_detail(general_ledger_detail) click to toggle source
# File lib/agris/api/accounts_receivables/invoice.rb, line 122
def add_general_ledger_detail(general_ledger_detail)
  @general_ledger_details ||= []
  @general_ledger_details << general_ledger_detail

  self
end
add_line_item(line_item) click to toggle source
# File lib/agris/api/accounts_receivables/invoice.rb, line 99
def add_line_item(line_item)
  @line_items ||= []
  @line_items << line_item

  self
end
general_ledger_details() click to toggle source
# File lib/agris/api/accounts_receivables/invoice.rb, line 114
def general_ledger_details
  @general_ledger_details || []
end
line_items() click to toggle source
# File lib/agris/api/accounts_receivables/invoice.rb, line 110
def line_items
  @line_items || []
end
records() click to toggle source
# File lib/agris/api/accounts_receivables/invoice.rb, line 106
def records
  [self] + line_items + general_ledger_details
end
xml_ignore_attributes() click to toggle source
# File lib/agris/api/accounts_receivables/invoice.rb, line 118
def xml_ignore_attributes
  %i(line_items general_ledger_details)
end