Module: Semian::Instrumentable

Included in:
Semian
Defined in:
lib/semian/instrumentable.rb

Instance Method Summary collapse

Instance Method Details

#notify(*args) ⇒ Object

Args:

event (string)
resource (Object)
scope (string)
adapter (string)
payload (optional)


18
19
20
# File 'lib/semian/instrumentable.rb', line 18

def notify(*args)
  subscribers.values.each { |subscriber| subscriber.call(*args) }
end

#subscribe(name = rand, &block) ⇒ Object



3
4
5
6
# File 'lib/semian/instrumentable.rb', line 3

def subscribe(name = rand, &block)
  subscribers[name] = block
  name
end

#unsubscribe(name) ⇒ Object



8
9
10
# File 'lib/semian/instrumentable.rb', line 8

def unsubscribe(name)
  subscribers.delete(name)
end