Class: KuberKit::Actions::ActionResult

Inherits:
Object
  • Object
show all
Defined in:
lib/kuber_kit/actions/action_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeActionResult

Returns a new instance of ActionResult.



4
5
6
7
8
9
# File 'lib/kuber_kit/actions/action_result.rb', line 4

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

Instance Attribute Details

#all_resultsObject (readonly)

Returns the value of attribute all_results.



2
3
4
# File 'lib/kuber_kit/actions/action_result.rb', line 2

def all_results
  @all_results
end

#errorObject (readonly)

Returns the value of attribute error.



2
3
4
# File 'lib/kuber_kit/actions/action_result.rb', line 2

def error
  @error
end

#finished_tasksObject (readonly)

Returns the value of attribute finished_tasks.



2
3
4
# File 'lib/kuber_kit/actions/action_result.rb', line 2

def finished_tasks
  @finished_tasks
end

Instance Method Details

#failed!(error) ⇒ Object



25
26
27
# File 'lib/kuber_kit/actions/action_result.rb', line 25

def failed!(error)
  @error = error
end

#finish_task(task, result = nil) ⇒ Object



17
18
19
20
21
22
23
# 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) ⇒ Object



11
12
13
14
15
# File 'lib/kuber_kit/actions/action_result.rb', line 11

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

#succeeded?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/kuber_kit/actions/action_result.rb', line 29

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