Class: Adapter::SensorCollection

Inherits:
Object
  • Object
show all
Defined in:
lib/adapter/sensor_collection.rb

Defined Under Namespace

Classes: Null

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSensorCollection

Returns a new instance of SensorCollection.



27
28
29
30
# File 'lib/adapter/sensor_collection.rb', line 27

def initialize
  @sensors = {}
  @sensors.default = Sensor.new
end

Class Method Details

.nullObject



32
33
34
# File 'lib/adapter/sensor_collection.rb', line 32

def self.null
  Null.new 
end

Instance Method Details

#create_sensor_for(event) ⇒ Object



45
46
47
# File 'lib/adapter/sensor_collection.rb', line 45

def create_sensor_for(event)
  @sensors[event.to_sym] = Sensor.new    
end

#fire(sensor) ⇒ Object



49
50
51
# File 'lib/adapter/sensor_collection.rb', line 49

def fire(sensor)
  @sensors[sensor.to_sym].fire
end

#listObject



36
37
38
# File 'lib/adapter/sensor_collection.rb', line 36

def list
  @sensors.entries.collect { |e| e[0].to_s }.sort.collect{ |e| e.to_sym }
end

#on(sensor, &block) ⇒ Object



40
41
42
43
# File 'lib/adapter/sensor_collection.rb', line 40

def on(sensor, &block)
  raise NoSuchSensorException.new("sensor :#{sensor} does not exist") unless @sensors.has_key?(sensor.to_sym)
  @sensors[sensor.to_sym].on_fire_do(&block) 
end

#remove_fire_listenersObject



53
54
55
# File 'lib/adapter/sensor_collection.rb', line 53

def remove_fire_listeners
  @sensors.collect {|name, sensor| sensor.remove_fire_listener } 
end