Sha256: 06f99b9c625380c1a7c44b21116b2ae1e37be7071e174ec1ac04128e4abc0d19

Contents?: true

Size: 834 Bytes

Versions: 10

Compression:

Stored size: 834 Bytes

Contents

# frozen_string_literal: true

module LedgerSync
  module QuickBooksOnline
    module Serialization
      module Type
        class SerializeTransactionReferenceType < LedgerSync::Type::Value
          def cast_value(value:)
            return if value.nil?
            raise "List expected.  Given: #{value.class.name}" unless value.is_a?(Array)
            unless value.all?(LedgerSync::Resource)
              raise "Resources expected.  Given: #{value.map { |i| i.class.name }.join(', ')}"
            end

            value.map do |resource|
              {
                'TxnId' => resource.ledger_id,
                'TxnType' => Client.ledger_resource_type_for(
                  resource_class: resource.class
                ).classify
              }
            end
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
ledger_sync-quickbooks_online-0.4.0 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.3.1 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.3.0 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.2.6 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.2.5 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.2.4 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.2.2 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.2.1 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.2.0 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb
ledger_sync-quickbooks_online-0.1.1 lib/ledger_sync/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb