Sha256: 0e78c8bd0e633b17eaa13b7fed9785f441dd7b52ce3d2ea9ae36a70c7b8a4a24

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

require_relative '../expense_line_item/serializer'

module LedgerSync
  module Ledgers
    module QuickBooksOnline
      class JournalEntryLineItem
        class Serializer < QuickBooksOnline::Serializer
          attribute 'DetailType' do
            'JournalEntryLineDetail'
          end

          amount 'Amount',
                 resource_attribute: :amount

          mapping 'JournalEntryLineDetail.PostingType',
                  resource_attribute: :entry_type,
                  hash: JournalEntryLineItem::TYPES

          attribute 'JournalEntryLineDetail.AccountRef.value',
                    resource_attribute: 'account.ledger_id'

          attribute 'JournalEntryLineDetail.ClassRef.value',
                    resource_attribute: 'ledger_class.ledger_id'

          attribute 'JournalEntryLineDetail.DepartmentRef.value',
                    resource_attribute: 'department.ledger_id'

          attribute 'Description',
                    resource_attribute: :description
        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/journal_entry_line_item/serializer.rb
ledger_sync-1.4.2 lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/serializer.rb
ledger_sync-1.4.1 lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/serializer.rb
ledger_sync-1.4.0 lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/serializer.rb