Class: PowerTypes::Observer
- Inherits:
-
Object
- Object
- PowerTypes::Observer
- Defined in:
- lib/power_types/patterns/observer/observer.rb
Instance Attribute Summary collapse
-
#object ⇒ Object
readonly
Returns the value of attribute object.
Class Method Summary collapse
- .add_trigger(_type, _event, _handler = nil, _options = {}, &_block) ⇒ Object
- .trigger(_type, _event, _object) ⇒ Object
- .triggers ⇒ Object
Instance Method Summary collapse
-
#initialize(_object) ⇒ Observer
constructor
A new instance of Observer.
Constructor Details
#initialize(_object) ⇒ Observer
Returns a new instance of Observer.
34 35 36 |
# File 'lib/power_types/patterns/observer/observer.rb', line 34 def initialize(_object) @object = _object end |
Instance Attribute Details
#object ⇒ Object (readonly)
Returns the value of attribute object.
3 4 5 |
# File 'lib/power_types/patterns/observer/observer.rb', line 3 def object @object end |
Class Method Details
.add_trigger(_type, _event, _handler = nil, _options = {}, &_block) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/power_types/patterns/observer/observer.rb', line 19 def self.add_trigger(_type, _event, _handler = nil, = {}, &_block) triggers << PowerTypes::Trigger.new( _type, _event, (_handler || _block), ) triggers.last end |
.trigger(_type, _event, _object) ⇒ Object
13 14 15 16 17 |
# File 'lib/power_types/patterns/observer/observer.rb', line 13 def self.trigger(_type, _event, _object) triggers.select { |t| t.type == _type && t.event == _event }.each do |trigger| trigger.call(new(_object)) end end |
.triggers ⇒ Object
30 31 32 |
# File 'lib/power_types/patterns/observer/observer.rb', line 30 def self.triggers @triggers ||= [] end |