Sha256: 171891864052182749ba44076ccb013cb6446973e994583de5a3b03c3692dac2

Contents?: true

Size: 688 Bytes

Versions: 7

Compression:

Stored size: 688 Bytes

Contents

module ActsAsScrubbable
  module BaseProcessor
    attr_reader :ar_class
    private :ar_class

    def initialize(ar_class)
      @ar_class = ar_class
    end

    def scrub_query(query = nil)
      scrubbed_count = 0
      ActiveRecord::Base.connection_pool.with_connection do
        if ar_class.respond_to?(:scrubbable_scope)
          relation = ar_class.send(:scrubbable_scope)
        else
          relation = ar_class.all
        end

        relation.where(query).find_in_batches(batch_size: 1000) do |batch|
          ActiveRecord::Base.transaction do
            scrubbed_count += handle_batch(batch)
          end
        end
      end
      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/base_processor.rb
acts_as_scrubbable-2.1.3 lib/acts_as_scrubbable/base_processor.rb
acts_as_scrubbable-2.1.2 lib/acts_as_scrubbable/base_processor.rb
acts_as_scrubbable-2.1.1 lib/acts_as_scrubbable/base_processor.rb
acts_as_scrubbable-2.0.0 lib/acts_as_scrubbable/base_processor.rb
acts_as_scrubbable-1.4.0 lib/acts_as_scrubbable/base_processor.rb
acts_as_scrubbable-1.2.1 lib/acts_as_scrubbable/base_processor.rb