Sha256: 7fb7d7e873f666ce6b522177125bea0415208581f17b980cbf656b96eaff7222

Contents?: true

Size: 580 Bytes

Versions: 7

Compression:

Stored size: 580 Bytes

Contents

require 'acts_as_scrubbable/base_processor'

module ActsAsScrubbable
  class ImportProcessor
    include BaseProcessor

    private
    def handle_batch(batch)
      scrubbed_count = 0
      batch.each do |obj|
        _updates = obj.scrubbed_values
        obj.assign_attributes(_updates)
        scrubbed_count += 1
      end
      ar_class.import(
        batch,
        on_duplicate_key_update: ar_class.scrubbable_fields.keys.map { |x| "`#{x}` = values(`#{x}`)" }.join(" , "),
        validate: false,
        timestamps: false
      )
      scrubbed_count
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
acts_as_scrubbable-2.1.5 lib/acts_as_scrubbable/import_processor.rb
acts_as_scrubbable-2.1.3 lib/acts_as_scrubbable/import_processor.rb
acts_as_scrubbable-2.1.2 lib/acts_as_scrubbable/import_processor.rb
acts_as_scrubbable-2.1.1 lib/acts_as_scrubbable/import_processor.rb
acts_as_scrubbable-2.0.0 lib/acts_as_scrubbable/import_processor.rb
acts_as_scrubbable-1.4.0 lib/acts_as_scrubbable/import_processor.rb
acts_as_scrubbable-1.2.1 lib/acts_as_scrubbable/import_processor.rb