class EventStoreClient::Subscriptions
Attributes
connection[R]
service[R]
subscriptions[R]
Public Class Methods
new(connection:, service: 'default')
click to toggle source
# File lib/event_store_client/subscriptions.rb, line 32 def initialize(connection:, service: 'default') @connection = connection @service = service @subscriptions = [] end
Public Instance Methods
create(subscriber, event_types, options: {})
click to toggle source
# File lib/event_store_client/subscriptions.rb, line 5 def create(subscriber, event_types, options: {}) subscription = Subscription.new(subscriber, event_types: event_types, service: service) unless @subscriptions.detect { |sub| sub.name == subscription.name } connection.subscribe_to_stream(subscription, options: options) subscriptions << subscription end subscription end
each() { |subscription| ... }
click to toggle source
# File lib/event_store_client/subscriptions.rb, line 16 def each subscriptions.each do |subscription| yield(subscription) end end
listen(subscription)
click to toggle source
# File lib/event_store_client/subscriptions.rb, line 22 def listen(subscription) connection.listen(subscription, options: { interval: 1, count: 10 }) do |event| subscription.subscriber.call(event) end end