module PublishSubscribe

Public Instance Methods

subscribe(channel, &block) click to toggle source
# File lib/publish_subscribe.rb, line 3
def subscribe(channel, &block)
  subscriptions.add(channel, block)
end

Private Instance Methods

publish(channel, *args) click to toggle source
# File lib/publish_subscribe.rb, line 9
def publish(channel, *args)
  subscriptions.get(channel).each do |proc|
    proc.call(*args)
  end
end
subscriptions() click to toggle source
# File lib/publish_subscribe.rb, line 15
def subscriptions
  @_subscriptions ||= SubscriptionRegistry.new
end