Class: LedgerSync::Adaptors::QuickBooksOnline::LedgerSerializerType::TransactionReferenceType
- Inherits:
-
LedgerSerializerType::ValueType
- Object
- LedgerSerializerType::ValueType
- LedgerSync::Adaptors::QuickBooksOnline::LedgerSerializerType::TransactionReferenceType
- Defined in:
- lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/transaction_reference_type.rb
Instance Method Summary collapse
Instance Method Details
#convert_from_ledger(value:) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/transaction_reference_type.rb', line 8 def convert_from_ledger(value:) return if value.nil? raise "Unknown value type. Array expected. Given: #{value.class.name}" unless value.is_a?(Array) return if value.empty? value.map do |item| resource_class = Adaptor.resource_from_ledger_type(type: item['TxnType']) raise "Unknown QuickBooks Online resource type: #{item['TxnType']}" if resource_class.blank? resource_class.new( ledger_id: item['TxnId'] ) end end |
#convert_from_local(value:) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/transaction_reference_type.rb', line 25 def convert_from_local(value:) return if value.nil? raise "List expected. Given: #{value.class.name}" unless value.is_a?(Array) raise "Resources expected. Given: #{value.map { |i| i.class.name }.join(', ')}" unless value.all?(LedgerSync::Resource) value.map do |resource| { 'TxnId' => resource.ledger_id, 'TxnType' => Adaptor.ledger_resource_type_for( resource_class: resource.class ).classify } end end |