class RabbitFeed::ProducerConnection
Constants
- EXCHANGE_OPTIONS
- PUBLISH_OPTIONS
Attributes
exchange[R]
Public Class Methods
handle_returned_message(return_info, _content)
click to toggle source
# File lib/rabbit_feed/producer_connection.rb, line 14 def self.handle_returned_message(return_info, _content) RabbitFeed.log.error { { event: :returned_message, return_info: return_info } } RabbitFeed.exception_notify(ReturnedMessageError.new(return_info)) end
new()
click to toggle source
Calls superclass method
RabbitFeed::Connection::new
# File lib/rabbit_feed/producer_connection.rb, line 19 def initialize super @exchange = channel.exchange RabbitFeed.configuration.exchange, exchange_options RabbitFeed.log.info { { event: :exchange_declared, exchange: RabbitFeed.configuration.exchange, options: exchange_options } } exchange.on_return do |return_info, _properties, content| RabbitFeed::ProducerConnection.handle_returned_message return_info, content end end
Public Instance Methods
publish(message, options)
click to toggle source
# File lib/rabbit_feed/producer_connection.rb, line 28 def publish(message, options) synchronized do bunny_options = (options.merge PUBLISH_OPTIONS) RabbitFeed.log.debug { { event: :publish, options: options, exchange: RabbitFeed.configuration.exchange } } exchange.publish message, bunny_options end end
Private Instance Methods
exchange_options()
click to toggle source
# File lib/rabbit_feed/producer_connection.rb, line 40 def exchange_options { auto_delete: RabbitFeed.configuration.auto_delete_exchange }.merge EXCHANGE_OPTIONS end