Class: Orchestrated::FirstCompletion

Inherits:
CompositeCompletion show all
Defined in:
lib/orchestrated/completion.rb

Instance Method Summary collapse

Methods inherited from CompositeCompletion

#+

Methods inherited from CompletionExpression

#notify_dependents_of_cancellation, #notify_dependents_of_completion

Instance Method Details

#<<(c) ⇒ Object



67
68
69
70
# File 'lib/orchestrated/completion.rb', line 67

def <<(c)
  prerequisites << c unless c.never_complete?
  self
end

#always_complete?Boolean

Returns:

  • (Boolean)


64
# File 'lib/orchestrated/completion.rb', line 64

def always_complete?; prerequisites.any?(&:always_complete?); end

#canceled?Boolean

Returns:

  • (Boolean)


66
# File 'lib/orchestrated/completion.rb', line 66

def canceled?; prerequisite_associations.all?(&:canceled?); end

#complete?Boolean

Returns:

  • (Boolean)


63
# File 'lib/orchestrated/completion.rb', line 63

def complete?; prerequisite_associations.any?(&:complete?); end

#never_complete?Boolean

Returns:

  • (Boolean)


65
# File 'lib/orchestrated/completion.rb', line 65

def never_complete?; prerequisites.empty?; end

#prerequisite_canceledObject



74
75
76
# File 'lib/orchestrated/completion.rb', line 74

def prerequisite_canceled
  notify_dependents_of_cancellation unless prerequisite_associations.without_states('canceled').exists?
end

#prerequisite_completeObject



71
72
73
# File 'lib/orchestrated/completion.rb', line 71

def prerequisite_complete
  notify_dependents_of_completion
end