Class: ActsAsScrubbable::ParallelTableScrubber

Inherits:
Object
  • Object
show all
Defined in:
lib/acts_as_scrubbable/parallel_table_scrubber.rb

Instance Method Summary collapse

Constructor Details

#initialize(ar_class, num_of_batches) ⇒ ParallelTableScrubber

Returns a new instance of ParallelTableScrubber.



8
9
10
11
# File 'lib/acts_as_scrubbable/parallel_table_scrubber.rb', line 8

def initialize(ar_class, num_of_batches)
  @ar_class = ar_class
  @num_of_batches = num_of_batches
end

Instance Method Details

#each_queryObject



13
14
15
16
17
18
19
20
21
# File 'lib/acts_as_scrubbable/parallel_table_scrubber.rb', line 13

def each_query
  # Removing any find or initialize callbacks from model
  ar_class.reset_callbacks(:initialize)
  ar_class.reset_callbacks(:find)

  Parallel.map(parallel_queries) { |query|
    yield(query)
  }.reduce(:+) # returns the aggregated scrub count
end