Class: Adapter::SensorCollection
- Inherits:
-
Object
- Object
- Adapter::SensorCollection
- Defined in:
- lib/adapter/sensor_collection.rb
Defined Under Namespace
Classes: Null
Class Method Summary collapse
Instance Method Summary collapse
- #create_sensor_for(event) ⇒ Object
- #fire(sensor) ⇒ Object
-
#initialize ⇒ SensorCollection
constructor
A new instance of SensorCollection.
- #list ⇒ Object
- #on(sensor, &block) ⇒ Object
- #remove_fire_listeners ⇒ Object
Constructor Details
#initialize ⇒ SensorCollection
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
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 |
#list ⇒ Object
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_listeners ⇒ Object
53 54 55 |
# File 'lib/adapter/sensor_collection.rb', line 53 def remove_fire_listeners @sensors.collect {|name, sensor| sensor.remove_fire_listener } end |