Sha256: 1c1f1bf160dc0d0943f991f793504cddd479146b5dbfbb09a610c9a8cb7e966a

Contents?: true

Size: 901 Bytes

Versions: 10

Compression:

Stored size: 901 Bytes

Contents

# frozen_string_literal: true

require_relative '../reference/serializer'
require_relative '../journal_entry_line_item/serializer'
require_relative '../ledger_class/serializer'

module LedgerSync
  module NetSuite
    class JournalEntry
      class Serializer < NetSuite::Serializer
        attribute :memo

        attribute :trandate

        attribute :tranId

        references_one :currency,
                       serializer: Reference::Serializer, if: :currency_present?

        references_one :subsidiary,
                       serializer: Reference::Serializer

        references_many 'line.items',
                        resource_attribute: :line_items,
                        serializer: JournalEntryLineItem::Serializer

        def currency_present?(args = {})
          resource = args.fetch(:resource)

          resource.currency.present?
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
ledger_sync-netsuite-0.7.1 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.6.2 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.6.1 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.6.0 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.5.0 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.4.2 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.3.6 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.3.5 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.3.4 lib/ledger_sync/netsuite/journal_entry/serializer.rb
ledger_sync-netsuite-0.3.3 lib/ledger_sync/netsuite/journal_entry/serializer.rb