class AMQP::Hermes::Transmitter
Attributes
queue[R]
Public Class Methods
new(queue=nil, topic=nil, options={})
click to toggle source
# File lib/amqp-hermes/transmitter.rb, line 7 def initialize(queue=nil, topic=nil, options={}) @queue = queue if topic.is_a?(Hash) options = topic.clone topic = options[:topic] end options[:auto_delete] ||= true topic ||= "pub/sub" @exchange = channel.topic(topic, options) @transmitting = false end
Public Instance Methods
close()
click to toggle source
Calls superclass method
AMQP::Hermes::Connectivity#close
# File lib/amqp-hermes/transmitter.rb, line 39 def close AMQP::Hermes.wait_for(self, :done_transmitting?) super end
done_transmitting?()
click to toggle source
# File lib/amqp-hermes/transmitter.rb, line 35 def done_transmitting? @transmitting == true ? false : true end
transmit(payload, options={})
click to toggle source
# File lib/amqp-hermes/transmitter.rb, line 23 def transmit(payload, options={}) @transmitting = true options.merge!( :routing_key => @queue ) unless options.has_key?(:routing_key) @exchange.publish( payload, options ) do @transmitting = false end end