class KuberKit::Actions::ActionResult

Attributes

all_results[R]
error[R]
finished_tasks[R]

Public Class Methods

new() click to toggle source
# File lib/kuber_kit/actions/action_result.rb, line 4
def initialize()
  @all_results     = {}
  @started_tasks   = []
  @finished_tasks  = []
  @mutex = Mutex.new
end

Public Instance Methods

failed!(error) click to toggle source
# File lib/kuber_kit/actions/action_result.rb, line 25
def failed!(error)
  @error = error
end
finish_task(task, result = nil) click to toggle source
# File lib/kuber_kit/actions/action_result.rb, line 17
def finish_task(task, result = nil)
  @mutex.synchronize do
    @started_tasks.delete(task)
    @finished_tasks.push(task)
    @all_results[task] = result
  end
end
start_task(task) click to toggle source
# File lib/kuber_kit/actions/action_result.rb, line 11
def start_task(task)
  @mutex.synchronize do
    @started_tasks.push(task)
  end
end
succeeded?() click to toggle source
# File lib/kuber_kit/actions/action_result.rb, line 29
def succeeded?
  @error.nil? && @started_tasks.empty?
end