Class: EventStoreClient::Subscriptions

Inherits:
Object
  • Object
show all
Defined in:
lib/event_store_client/subscriptions.rb

Instance Method Summary collapse

Instance Method Details

#create(subscriber, event_types, options: {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# 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

#eachObject



16
17
18
19
20
# File 'lib/event_store_client/subscriptions.rb', line 16

def each
  subscriptions.each do |subscription|
    yield(subscription)
  end
end

#listen(subscription) ⇒ Object



22
23
24
25
26
# 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