Sha256: 24c3d025b848cd35de6b5bf7c993fdc543b828b74a2b5200deb9bec4127fdb83
Contents?: true
Size: 1017 Bytes
Versions: 1
Compression:
Stored size: 1017 Bytes
Contents
module BunnyRpc class Server attr_accessor :reply_correlation_id, :reply_to, :queue_name def initialize(options={}) @options = options end def publish(payload) exchange.publish( payload, routing_key: @reply_to, correlation_id: @reply_correlation_id ) end def subscribe(queue_name) raise 'no queue name' if queue_name.nil? @queue_name = queue_name queue.subscribe(block: true) do |_, properties, payload| @reply_to = properties.reply_to @reply_correlation_id = properties.correlation_id publish(yield payload) end end def connect return @connect if defined?(@connect) @connect = Bunny.new(@options) @connect.start @connect end def channel @channel ||= connect.create_channel end def exchange @exchange ||= channel.default_exchange end def queue @queue ||= channel.queue(@queue_name, exclusive: true) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bunny_rpc-0.1.3 | lib/bunny_rpc/server.rb |