Class: Domotics::Core::TestRoom

Inherits:
Room show all
Defined in:
lib/domotics/core/helper/helper.rb

Instance Attribute Summary

Attributes inherited from Room

#elements, #name, #type

Instance Method Summary collapse

Methods inherited from Room

[], #[], #destroy, #light, #light_off?, #method_missing, #notify, #register_element, #state, #to_s, #verbose_state

Constructor Details

#initialize(args = {}) ⇒ TestRoom

Returns a new instance of TestRoom.



39
40
41
42
# File 'lib/domotics/core/helper/helper.rb', line 39

def initialize(args = {})
  super
  @events = {}
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Domotics::Core::Room

Instance Method Details

#event_handler(msg = {}) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/domotics/core/helper/helper.rb', line 43

def event_handler(msg = {})
  event, element = msg[:event], msg[:element]
  if element
    @events[element.name] ||= []
    @events[element.name].push event => element.state
  end
  super
end

#last_event(element_name) ⇒ Object



51
52
53
# File 'lib/domotics/core/helper/helper.rb', line 51

def last_event(element_name)
  @events[element_name].pop if @events[element_name].respond_to? :pop
end