module BatchProcessor::Processor::Process

Public Instance Methods

process() click to toggle source
# File lib/batch_processor/processor/process.rb, line 15
def process
  batch.start

  run_callbacks(:collection_processed) { process_collection }

  batch.finish unless batch.finished? || batch.unfinished_jobs?

  self
end
process_collection_item(_item) click to toggle source
# File lib/batch_processor/processor/process.rb, line 25
def process_collection_item(_item)
  # Abstract
end

Private Instance Methods

iterator_method() click to toggle source
# File lib/batch_processor/processor/process.rb, line 31
def iterator_method
  batch.collection_items.respond_to?(:find_each) ? :find_each : :each
end
process_collection() click to toggle source
# File lib/batch_processor/processor/process.rb, line 35
def process_collection
  batch.collection_items.public_send(iterator_method) do |item|
    run_callbacks(:item_processed) { process_collection_item(batch.collection_item_to_job_params(item)) }
  end
end