Module: Watership::Subscriber

Defined in:
lib/watership/subscriber.rb

Instance Method Summary collapse

Instance Method Details

#perform(payload) ⇒ Object

Raises:

  • (NotImplementedError)


3
4
5
# File 'lib/watership/subscriber.rb', line 3

def perform(payload)
  raise NotImplementedError
end

#subscribe(name, options = {}) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/watership/subscriber.rb', line 7

def subscribe(name, options = {})
  options = { block: true, ack: true }.merge(options)

  queue(name).subscribe(options) do |delivery_info, properties, payload|
    perform(JSON.parse(payload))
    queue_channel.acknowledge(delivery_info.delivery_tag, false) if options[:ack]
  end
end