Sha256: f5ba00e8ec4e762ac72ee43978160a8106fc63b83623556b011efe6ecfd09c2f

Contents?: true

Size: 523 Bytes

Versions: 1

Compression:

Stored size: 523 Bytes

Contents

require "abstract_importer/strategies/insert_strategy"
require "activerecord/insert_many"

module AbstractImporter
  module Strategies
    class UpsertStrategy < InsertStrategy

      def initialize(collection, options={})
        super
        @insert_options.reverse_merge!(on_conflict: { column: remap_ids? ? (association_attrs.keys + [:legacy_id]) : :id, do: :update })
      end

      # We won't skip any records for already being imported
      def already_imported?(hash)
        false
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
abstract_importer-1.5.6 lib/abstract_importer/strategies/upsert_strategy.rb