class Producer::Core::Worker
Constants
- DRY_RUN_WARNING
Public Class Methods
new(env)
click to toggle source
# File lib/producer/core/worker.rb, line 7 def initialize env @env = env end
Public Instance Methods
process(tasks)
click to toggle source
# File lib/producer/core/worker.rb, line 11 def process tasks @env.log DRY_RUN_WARNING, :warn if @env.dry_run? tasks.each { |t| process_task t } end
process_task(task, indent_level = 0)
click to toggle source
# File lib/producer/core/worker.rb, line 17 def process_task task, indent_level = 0 if task.condition_met? log "Task: `#{task}' applying...", indent_level task.actions.each do |e| case e when Task process_task e, indent_level + 2 else log " action: #{e}", indent_level e.apply unless @env.dry_run? end end else log "Task: `#{task}' skipped", indent_level end end
Private Instance Methods
log(message, indent_level)
click to toggle source
# File lib/producer/core/worker.rb, line 36 def log message, indent_level message = [' ' * indent_level, message].join @env.log message end