class Norma43::Models::Document

Attributes

accounts[RW]
created_at[RW]
delivery_number[RW]
file_type[RW]
id[RW]
name[RW]
number_of_lines[RW]

Public Class Methods

new(attributes = EMPTY_ATTRIBUTES) click to toggle source
# File lib/norma43/models/document.rb, line 10
def initialize(attributes = EMPTY_ATTRIBUTES)
  @id,
  @created_at,
  @delivery_number,
  @file_type,
  @name,
  @number_of_lines,
  accounts = Hash(attributes).values_at(
    :id,
    :created_at,
    :delivery_number,
    :file_type,
    :name,
    :number_of_lines,
    :accounts)
  @accounts = Array(accounts).map { |account| Account.new(account) }
end

Public Instance Methods

transaction_date() click to toggle source

@deprecated Please ask each transaction inside accounts for their transaction_date instead

# File lib/norma43/models/document.rb, line 29
def transaction_date
  warn "[DEPRECATION] `transaction_date` is deprecated, use `#transaction_date` from transactions in `#accounts` instead"
  date = nil

  accounts.flat_map(&:transactions).each { |transaction|
    date = transaction&.transaction_date
    break unless date.nil?
  }

  date
end