Class: ActsAsScrubbable::ArClassProcessor
- Inherits:
-
Object
- Object
- ActsAsScrubbable::ArClassProcessor
- Defined in:
- lib/acts_as_scrubbable/ar_class_processor.rb
Instance Attribute Summary collapse
-
#ar_class ⇒ Object
readonly
Returns the value of attribute ar_class.
-
#query_processor ⇒ Object
readonly
Returns the value of attribute query_processor.
Instance Method Summary collapse
-
#initialize(ar_class) ⇒ ArClassProcessor
constructor
A new instance of ArClassProcessor.
- #process(num_of_batches) ⇒ Object
Constructor Details
#initialize(ar_class) ⇒ ArClassProcessor
Returns a new instance of ArClassProcessor.
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/acts_as_scrubbable/ar_class_processor.rb', line 10 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 |
Instance Attribute Details
#ar_class ⇒ Object (readonly)
Returns the value of attribute ar_class.
8 9 10 |
# File 'lib/acts_as_scrubbable/ar_class_processor.rb', line 8 def ar_class @ar_class end |
#query_processor ⇒ Object (readonly)
Returns the value of attribute query_processor.
8 9 10 |
# File 'lib/acts_as_scrubbable/ar_class_processor.rb', line 8 def query_processor @query_processor end |
Instance Method Details
#process(num_of_batches) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/acts_as_scrubbable/ar_class_processor.rb', line 22 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 |