Class: Lagomorph::Subscriber

Inherits:
Object
  • Object
show all
Defined in:
lib/lagomorph/subscriber.rb

Instance Method Summary collapse

Constructor Details

#initialize(worker_class) ⇒ Subscriber

Returns a new instance of Subscriber.



6
7
8
# File 'lib/lagomorph/subscriber.rb', line 6

def initialize(worker_class)
  @worker_class = worker_class
end

Instance Method Details

#subscribe(queue, channel, opts = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/lagomorph/subscriber.rb', line 10

def subscribe(queue, channel, opts={})
  subscription_opts = opts.merge(durable:    true,
                                 manual_ack: true,
                                 block:      false)
  queue.subscribe(subscription_opts) do |, payload|
    response = process_request(payload)
    channel.ack(.delivery_tag)
    publish_response(channel, , response)
  end
end