Sha256: 55fd43327236eb9722d17d7ccf826c2439a054f7e010c865c0496767b4279ab9
Contents?: true
Size: 840 Bytes
Versions: 1
Compression:
Stored size: 840 Bytes
Contents
class Skein::Client::Subscriber < Skein::Connected # == Instance Methods ===================================================== def initialize(queue_name, routing_key = nil, connection: nil, context: nil) super(connection: connection, context: context) @queue = self.channel.topic(queue_name) @subscribe_queue = self.channel.queue('', exclusive: true) @subscribe_queue.bind(@queue, routing_key: routing_key) end def listen case (@subscribe_queue.class.to_s.split(/::/)[0]) when 'Bunny' @subscribe_queue.subscribe(block: true) do |delivery_info, properties, payload| yield(JSON.load(payload), delivery_info, properties) end when 'MarchHare' @subscribe_queue.subscribe(block: true) do |metadata, payload| yield(JSON.load(payload), metadata) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
skein-0.3.0 | lib/skein/client/subscriber.rb |