module Watership::Subscriber
Public Instance Methods
perform(payload)
click to toggle source
# File lib/watership/subscriber.rb, line 3 def perform(payload) raise NotImplementedError end
subscribe(name, options = {})
click to toggle source
# 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
Protected Instance Methods
queue(name)
click to toggle source
# File lib/watership/subscriber.rb, line 18 def queue(name) Watership.connect_with_queue(name) end
queue_channel()
click to toggle source
# File lib/watership/subscriber.rb, line 22 def queue_channel Watership.channel end