Class: Adapter::ActuatorCollection
- Inherits:
-
Object
- Object
- Adapter::ActuatorCollection
- Defined in:
- lib/adapter/actuator_collection.rb
Defined Under Namespace
Classes: Null
Class Method Summary collapse
Instance Method Summary collapse
- #create_actuator_for(actuator_name, &block) ⇒ Object
- #fire(actuator_name, *params) ⇒ Object
-
#initialize(firer_class = AsynchronousFirer) ⇒ ActuatorCollection
constructor
A new instance of ActuatorCollection.
- #list ⇒ Object
Constructor Details
#initialize(firer_class = AsynchronousFirer) ⇒ ActuatorCollection
Returns a new instance of ActuatorCollection.
41 42 43 44 |
# File 'lib/adapter/actuator_collection.rb', line 41 def initialize(firer_class = AsynchronousFirer) @actuators = {} @firer_class = firer_class end |
Class Method Details
.null ⇒ Object
37 38 39 |
# File 'lib/adapter/actuator_collection.rb', line 37 def self.null Null.new end |
Instance Method Details
#create_actuator_for(actuator_name, &block) ⇒ Object
50 51 52 53 54 |
# File 'lib/adapter/actuator_collection.rb', line 50 def create_actuator_for(actuator_name, &block) raise NoActuatorBlockGiven.new("must supply a code block for an actuator - none given") unless block_given? raise DuplicateActuatorException.new("actuator :#{actuator_name} already exists") if @actuators.has_key?(actuator_name) @actuators[actuator_name.to_sym] = @firer_class.new(&block) end |
#fire(actuator_name, *params) ⇒ Object
56 57 58 59 |
# File 'lib/adapter/actuator_collection.rb', line 56 def fire(actuator_name, *params) raise NoSuchActuatorException.new("actuator :#{actuator_name} does not exist") unless @actuators.has_key?(actuator_name) @actuators[actuator_name.to_sym].fire(*params) end |
#list ⇒ Object
46 47 48 |
# File 'lib/adapter/actuator_collection.rb', line 46 def list @actuators.entries.collect {|e| e[0].to_s}.sort.collect{|e| e.to_sym} end |