Sha256: 4e3f9913530875b4a8260bc79f42eddf0e1b335e6def49f2c47cdba9d276718c

Contents?: true

Size: 1.01 KB

Versions: 13

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

require_relative '../operation'

module LedgerSync
  module QuickBooksOnline
    class Operation
      class FullUpdate
        include QuickBooksOnline::Operation::Mixin

        private

        def find_resource
          client.find(
            path: ledger_resource_path
          )
        end

        def operate
          find_result_hash = find_resource.body[quickbooks_online_resource_type.to_s.classify]
          merged_resource = deserializer.deserialize(
            hash: find_result_hash,
            merge_for_full_update: true,
            resource: resource
          )
          merged_serializer = serializer.class.new
          response_to_operation_result(
            response: client.post(
              path: ledger_resource_type_for_path,
              payload: merged_serializer.serialize(
                deep_merge_unmapped_values: find_result_hash,
                resource: merged_resource
              )
            )
          )
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ledger_sync-quickbooks_online-2.0.0 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-1.0.1 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-1.0.0 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.4.0 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.3.1 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.3.0 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.2.6 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.2.5 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.2.4 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.2.2 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.2.1 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.2.0 lib/ledger_sync/quickbooks_online/operation/full_update.rb
ledger_sync-quickbooks_online-0.1.1 lib/ledger_sync/quickbooks_online/operation/full_update.rb