Class: Webmate::Observers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/webmate/observers/base.rb

Class Method Summary collapse

Class Method Details

.execute_all(action, data) ⇒ Object



16
17
18
19
20
21
# File 'lib/webmate/observers/base.rb', line 16

def execute_all(action, data)
  self.subscriptions ||= {}
  (self.subscriptions[action] || []).each do |block|
    block.call(data)
  end
end

.subscribe(action, &block) ⇒ Object



6
7
8
# File 'lib/webmate/observers/base.rb', line 6

def subscribe(action, &block)
  Webmate::Observers::Base.subscribe!(action, &block)
end

.subscribe!(action, &block) ⇒ Object



10
11
12
13
14
# File 'lib/webmate/observers/base.rb', line 10

def subscribe!(action, &block)
  self.subscriptions ||= {}
  self.subscriptions[action] ||= []
  self.subscriptions[action] << block
end