Module: Spine::Hub::Subscriptions::Registry

Included in:
Spine::Hub, Publisher
Defined in:
lib/spine/hub/subscriptions/registry.rb

Instance Method Summary collapse

Instance Method Details

#on(event, &block) ⇒ Object

Adds block subscriber.

Arguments

  • event - Subscriber triggering event.



29
30
31
32
33
34
# File 'lib/spine/hub/subscriptions/registry.rb', line 29

def on(event, &block)
  if block_given?
    subscribe(Subscriptions::Closure.new(event, block))
  end
  self
end

#subscribe(*subscribers) ⇒ Object

Adds subscribers.

Attributes

  • subscribers - List of addable subscribers.



20
21
22
23
# File 'lib/spine/hub/subscriptions/registry.rb', line 20

def subscribe(*subscribers)
  @subscribers ||= Set.new
  @subscribers += subscribers
end

#subscribersObject



7
8
9
# File 'lib/spine/hub/subscriptions/registry.rb', line 7

def subscribers
  @subscribers ||= Set.new
end

#unsubscribe_allObject

Removes all subscribers.



12
13
14
# File 'lib/spine/hub/subscriptions/registry.rb', line 12

def unsubscribe_all
  @subscribers = Set.new
end