Module: Semian::Instrumentable
- Included in:
- Semian
- Defined in:
- lib/semian/instrumentable.rb
Instance Method Summary collapse
-
#notify(*args) ⇒ Object
Args: event (string) resource (Object) scope (string) adapter (string) payload (optional).
- #subscribe(name = rand, &block) ⇒ Object
- #unsubscribe(name) ⇒ Object
Instance Method Details
#notify(*args) ⇒ Object
Args:
event (string)
resource (Object)
scope (string)
adapter (string)
payload (optional)
20 21 22 |
# File 'lib/semian/instrumentable.rb', line 20 def notify(*args) subscribers.values.each { |subscriber| subscriber.call(*args) } end |
#subscribe(name = rand, &block) ⇒ Object
5 6 7 8 |
# File 'lib/semian/instrumentable.rb', line 5 def subscribe(name = rand, &block) subscribers[name] = block name end |
#unsubscribe(name) ⇒ Object
10 11 12 |
# File 'lib/semian/instrumentable.rb', line 10 def unsubscribe(name) subscribers.delete(name) end |