Sha256: 15f192ab97d8983a3600e881ee8b12c12b891826f1bcadbe941d82fa0af2d615

Contents?: true

Size: 1.32 KB

Versions: 4

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

require_relative '../currency/deserializer'
require_relative '../payment_line_item/deserializer'

module LedgerSync
  module Ledgers
    module QuickBooksOnline
      class Payment
        class Deserializer < QuickBooksOnline::Deserializer
          id

          amount :amount,
                 hash_attribute: 'TotalAmt'

          references_one :currency,
                         hash_attribute: :CurrencyRef,
                         deserializer: Currency::Deserializer

          attribute 'customer.ledger_id',
                    hash_attribute: 'CustomerRef.value'

          attribute 'deposit_account.ledger_id',
                    hash_attribute: 'DepositToAccountRef.value'

          attribute 'account.ledger_id',
                    hash_attribute: 'ARAccountRef.value'

          attribute :reference_number,
                    hash_attribute: 'PaymentRefNum'

          attribute :memo,
                    hash_attribute: 'PrivateNote'

          attribute :exchange_rate,
                    hash_attribute: 'ExchangeRate'

          date :transaction_date,
               hash_attribute: 'TxnDate'

          references_many :line_items,
                          hash_attribute: 'Line',
                          deserializer: PaymentLineItem::Deserializer
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ledger_sync-1.4.4 lib/ledger_sync/ledgers/quickbooks_online/payment/deserializer.rb
ledger_sync-1.4.2 lib/ledger_sync/ledgers/quickbooks_online/payment/deserializer.rb
ledger_sync-1.4.1 lib/ledger_sync/ledgers/quickbooks_online/payment/deserializer.rb
ledger_sync-1.4.0 lib/ledger_sync/ledgers/quickbooks_online/payment/deserializer.rb