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)


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