Sha256: 1e71ce530811767661e4f57772a515f8016b4cc3d564c667d01f012d54564c80

Contents?: true

Size: 824 Bytes

Versions: 34

Compression:

Stored size: 824 Bytes

Contents

require 'flydata/plugin_support/sync_record_emittable'

module Flydata
module QueryBasedSync

  class ResponseHandler
    include Flydata::PluginSupport::SyncRecordEmittable

    def initialize(context)
      @context = context
    end

    def handle(response)
      records = response.records.collect{|r| {row: r} }

      emit_sync_records(records,
                        type: :update,  # upsert only
                        src_pos: response.new_source_pos.to_s,
                        table: response.table_name)

      # TODO: Revisit and check if transaction management is needed
      # However, since we use 'upsert' for query based sync,
      # duplicate event will not cause an issue.
      context.table_src_pos_files[response.table_name.to_sym].
        save(response.new_source_pos)
    end
  end

end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
flydata-0.8.10.2 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.10.1 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.9.11 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.10 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.9 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.8 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.7 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.6 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.5 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.4 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.3 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.2 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.1 lib/flydata/query_based_sync/response_handler.rb
flydata-0.8.0 lib/flydata/query_based_sync/response_handler.rb
flydata-0.7.19 lib/flydata/query_based_sync/response_handler.rb
flydata-0.7.18 lib/flydata/query_based_sync/response_handler.rb
flydata-0.7.17 lib/flydata/query_based_sync/response_handler.rb
flydata-0.7.16 lib/flydata/query_based_sync/response_handler.rb
flydata-0.7.15 lib/flydata/query_based_sync/response_handler.rb
flydata-0.7.14 lib/flydata/query_based_sync/response_handler.rb