Sha256: bf3b820c10d8d5d0e8bbad8860cc79a2c09859e9996ecc6ef65f23aaddc50920
Contents?: true
Size: 1.19 KB
Versions: 4
Compression:
Stored size: 1.19 KB
Contents
require 'acts_as_scrubbable/import_processor' require 'acts_as_scrubbable/update_processor' require 'term/ansicolor' module ActsAsScrubbable class ArClassProcessor attr_reader :ar_class, :query_processor def initialize(ar_class) @ar_class = ar_class if ActsAsScrubbable.use_upsert ActsAsScrubbable.logger.info Term::ANSIColor.white("Using Upsert") @query_processor = ImportProcessor.new(ar_class) else ActsAsScrubbable.logger.info Term::ANSIColor.white("Using Update") @query_processor = UpdateProcessor.new(ar_class) end end def process(num_of_batches) ActsAsScrubbable.logger.info Term::ANSIColor.green("Scrubbing #{ar_class} ...") num_of_batches = Integer(ENV.fetch("SCRUB_BATCHES", "256")) if num_of_batches.nil? scrubbed_count = ActsAsScrubbable::ParallelTableScrubber.new(ar_class, num_of_batches).each_query do |query| query_processor.scrub_query(query) end ActsAsScrubbable.logger.info Term::ANSIColor.blue("#{scrubbed_count} #{ar_class} objects scrubbed") ActiveRecord::Base.connection.verify! ActsAsScrubbable.logger.info Term::ANSIColor.white("Scrub Complete!") end end end
Version data entries
4 entries across 4 versions & 1 rubygems