Method: Drydock::StreamMonitor#initialize
- Defined in:
- lib/drydock/stream_monitor.rb
#initialize(event_handler) ⇒ StreamMonitor
Returns a new instance of StreamMonitor.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/drydock/stream_monitor.rb', line 36 def initialize(event_handler) @thread = Thread.new do previous_ids = {} serial_no = 0 Docker::Event.stream do |event| serial_no += 1 is_old = previous_ids.key?(event.id) event_type = self.class.event_type_for(event.status) event_handler.call(event, !is_old, serial_no, event_type) previous_ids[event.id] = true end end end |