Class: OpenHAB::DSL::Imports::EventAdmin

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/openhab/dsl/imports.rb

Instance Method Summary collapse

Constructor Details

#initialize(event_manager) ⇒ EventAdmin

Returns a new instance of EventAdmin.



23
24
25
26
# File 'lib/rspec/openhab/dsl/imports.rb', line 23

def initialize(event_manager)
  @event_manager = event_manager
  @pending_events = nil
end

Instance Method Details

#post_event(event) ⇒ Object



28
29
30
# File 'lib/rspec/openhab/dsl/imports.rb', line 28

def post_event(event)
  send_event(event)
end

#send_event(event) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/rspec/openhab/dsl/imports.rb', line 32

def send_event(event)
  if @pending_events
    @pending_events << event
    return
  end

  @pending_events = []
  @event_manager.handle_event(event)

  @event_manager.handle_event(@pending_events.shift) until @pending_events.empty?

  @pending_events = nil
end