module Doem::Runner
The runner for the whole process
Public Instance Methods
process_rows(providers, tweakers, consumers)
click to toggle source
# File lib/doem/runner.rb, line 15 def process_rows(providers, tweakers, consumers) providers.each do |provider| provider.each do |row| tweakers.each do |tweaker| row = tweaker.tweak row break unless row end # nil means to dismiss the row next unless row consumers.each do |consumer| consumer << row end end end consumers.each do |consumer| consumer.build if consumer.respond_to? :build consumer.close if consumer.respond_to? :close end end
run(instruction)
click to toggle source
# File lib/doem/runner.rb, line 4 def run(instruction) context = instruction.context context.pre_hooks.each(&:call) process_rows( context.providers, context.tweakers, context.consumers ) context.post_hooks.each(&:call) end