class RubyEventStore::Subscriptions

Attributes

global[R]
local[R]
thread[R]

Public Class Methods

new() click to toggle source
# File lib/ruby_event_store/subscriptions.rb, line 7
def initialize
  @local = LocalSubscriptions.new
  @global = GlobalSubscriptions.new
  @thread = ThreadSubscriptions.new
end

Public Instance Methods

add_global_subscription(subscriber) click to toggle source
# File lib/ruby_event_store/subscriptions.rb, line 17
def add_global_subscription(subscriber)
  global.add(subscriber)
end
add_subscription(subscriber, event_types) click to toggle source
# File lib/ruby_event_store/subscriptions.rb, line 13
def add_subscription(subscriber, event_types)
  local.add(subscriber, event_types)
end
add_thread_global_subscription(subscriber) click to toggle source
# File lib/ruby_event_store/subscriptions.rb, line 25
def add_thread_global_subscription(subscriber)
  thread.global.add(subscriber)
end
add_thread_subscription(subscriber, event_types) click to toggle source
# File lib/ruby_event_store/subscriptions.rb, line 21
def add_thread_subscription(subscriber, event_types)
  thread.local.add(subscriber, event_types)
end
all_for(event_type) click to toggle source
# File lib/ruby_event_store/subscriptions.rb, line 29
def all_for(event_type)
  [local, global, thread].map { |r| r.all_for(event_type) }.reduce(&:+)
end