Class: SeeingIsBelieving::EventStream::Consumer::FinishCriteria
- Inherits:
-
Object
- Object
- SeeingIsBelieving::EventStream::Consumer::FinishCriteria
- Defined in:
- lib/seeing_is_believing/event_stream/consumer.rb
Constant Summary collapse
- EventThreadFinished =
Module.new
- StdoutThreadFinished =
Module.new
- StderrThreadFinished =
Module.new
- ProcessExited =
Module.new
Instance Method Summary collapse
- #event_thread_finished! ⇒ Object
-
#initialize ⇒ FinishCriteria
constructor
A new instance of FinishCriteria.
- #received_exitstatus! ⇒ Object
- #received_timeout! ⇒ Object
-
#satisfied? ⇒ Boolean
finish criteria are satisfied, we can stop processing events.
- #stderr_thread_finished! ⇒ Object
- #stdout_thread_finished! ⇒ Object
Constructor Details
#initialize ⇒ FinishCriteria
Returns a new instance of FinishCriteria.
16 17 18 19 20 21 22 23 |
# File 'lib/seeing_is_believing/event_stream/consumer.rb', line 16 def initialize @unmet_criteria = [ EventThreadFinished, StdoutThreadFinished, StderrThreadFinished, ProcessExited, ] end |
Instance Method Details
#event_thread_finished! ⇒ Object
31 32 33 |
# File 'lib/seeing_is_believing/event_stream/consumer.rb', line 31 def event_thread_finished! @unmet_criteria.delete EventThreadFinished end |
#received_exitstatus! ⇒ Object
43 44 45 |
# File 'lib/seeing_is_believing/event_stream/consumer.rb', line 43 def received_exitstatus! @unmet_criteria.delete ProcessExited end |
#received_timeout! ⇒ Object
47 48 49 |
# File 'lib/seeing_is_believing/event_stream/consumer.rb', line 47 def received_timeout! @unmet_criteria.delete ProcessExited end |
#satisfied? ⇒ Boolean
finish criteria are satisfied, we can stop processing events
27 28 29 |
# File 'lib/seeing_is_believing/event_stream/consumer.rb', line 27 def satisfied? @unmet_criteria.empty? end |
#stderr_thread_finished! ⇒ Object
39 40 41 |
# File 'lib/seeing_is_believing/event_stream/consumer.rb', line 39 def stderr_thread_finished! @unmet_criteria.delete StderrThreadFinished end |
#stdout_thread_finished! ⇒ Object
35 36 37 |
# File 'lib/seeing_is_believing/event_stream/consumer.rb', line 35 def stdout_thread_finished! @unmet_criteria.delete StdoutThreadFinished end |