Sha256: 33c9ec6428ccc8483ad671dfd760e8dcfe5f214cdf7f5702d4968d7ce6cd01be

Contents?: true

Size: 593 Bytes

Versions: 1

Compression:

Stored size: 593 Bytes

Contents

class KuberKit::Actions::ActionResult
  attr_reader :finished_tasks, :result, :error

  def initialize()
    @results         = {}
    @started_tasks   = []
    @finished_tasks  = []
    @mutex = Mutex.new
  end

  def start_task(task)
    @mutex.synchronize do
      @started_tasks.push(task)
    end
  end

  def finish_task(task, result)
    @mutex.synchronize do
      @started_tasks.delete(task)
      @finished_tasks.push(task)
      @results[task] = result
    end
  end

  def failed!(error)
    @error = error
  end

  def succeeded?
    @error.nil? && @started_tasks.empty?
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kuber_kit-0.5.9 lib/kuber_kit/actions/action_result.rb