class RubyEventStore::Subscriptions::ThreadLocalSubscriptions
Public Class Methods
Source
# File lib/ruby_event_store/subscriptions.rb, line 80 def initialize @subscriptions = Concurrent::ThreadLocalVar.new { Hash.new { |hsh, key| hsh[key] = [] } } end
Public Instance Methods
Source
# File lib/ruby_event_store/subscriptions.rb, line 84 def add(subscription, topics) topics.each { |topic| @subscriptions.value[topic] << subscription } -> { topics.each { |topic| @subscriptions.value.fetch(topic).delete(subscription) } } end
Source
# File lib/ruby_event_store/subscriptions.rb, line 89 def all_for(topic) @subscriptions.value[topic] end