Class: Tochtli::RabbitClient
- Inherits:
-
Object
- Object
- Tochtli::RabbitClient
- Defined in:
- lib/tochtli/rabbit_client.rb
Instance Attribute Summary collapse
-
#rabbit_connection ⇒ Object
readonly
Returns the value of attribute rabbit_connection.
Instance Method Summary collapse
-
#initialize(rabbit_connection = nil, logger = nil) ⇒ RabbitClient
constructor
A new instance of RabbitClient.
- #publish(message, options = {}) ⇒ Object
- #reply_queue(*args) ⇒ Object
- #wait_for_confirms ⇒ Object
Constructor Details
#initialize(rabbit_connection = nil, logger = nil) ⇒ RabbitClient
Returns a new instance of RabbitClient.
6 7 8 9 10 11 12 13 |
# File 'lib/tochtli/rabbit_client.rb', line 6 def initialize(rabbit_connection=nil, logger=nil) if rabbit_connection @rabbit_connection = rabbit_connection else @rabbit_connection = Tochtli::RabbitConnection.open(nil, logger: logger) end @logger = logger || @rabbit_connection.logger end |
Instance Attribute Details
#rabbit_connection ⇒ Object (readonly)
Returns the value of attribute rabbit_connection.
4 5 6 |
# File 'lib/tochtli/rabbit_client.rb', line 4 def rabbit_connection @rabbit_connection end |
Instance Method Details
#publish(message, options = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/tochtli/rabbit_client.rb', line 15 def publish(, ={}) raise InvalidMessageError.new(.errors.join(", "), ) if .invalid? @logger.debug "[#{Time.now} AMQP] Publishing message #{.id} to #{.routing_key}" reply_queue = @rabbit_connection.reply_queue [:reply_to] = reply_queue.name if ( = [:handler]) reply_queue. , , [:timeout] end @rabbit_connection.publish .routing_key, , end |
#reply_queue(*args) ⇒ Object
32 33 34 |
# File 'lib/tochtli/rabbit_client.rb', line 32 def reply_queue(*args) rabbit_connection.reply_queue(*args) end |
#wait_for_confirms ⇒ Object
28 29 30 |
# File 'lib/tochtli/rabbit_client.rb', line 28 def wait_for_confirms @rabbit_connection.channel.wait_for_confirms end |