Sha256: 313c120f95baf10ab19555762bc00fa6ddb642ad8b797576aff43ed18f9684ed
Contents?: true
Size: 878 Bytes
Versions: 3
Compression:
Stored size: 878 Bytes
Contents
# frozen_string_literal: true module LedgerSync module QuickBooksOnline module Serialization module Type class SerializeTransactionReferenceType < LedgerSync::Type::Value def cast_value(args = {}) value = args.fetch(: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
3 entries across 3 versions & 1 rubygems