class Jobi::Clients::Rabbitmq
Constants
- MESSAGE_OPTIONS
- QUEUE_OPTIONS
Public Class Methods
new(config = Jobi::Config::Rabbitmq.new)
click to toggle source
# File lib/jobi/clients/rabbitmq.rb, line 15 def initialize(config = Jobi::Config::Rabbitmq.new) @connection = Bunny.new(config.to_h) @connection.start end
Public Instance Methods
channel()
click to toggle source
# File lib/jobi/clients/rabbitmq.rb, line 20 def channel @channel ||= @connection.create_channel end
default_exchange()
click to toggle source
# File lib/jobi/clients/rabbitmq.rb, line 24 def default_exchange @default_exchange ||= channel.default_exchange end
publish(message:, queue:, options: {})
click to toggle source
# File lib/jobi/clients/rabbitmq.rb, line 33 def publish(message:, queue:, options: {}) queue.publish(message, build_options(options, MESSAGE_OPTIONS)) end
queue(name:, options: {})
click to toggle source
# File lib/jobi/clients/rabbitmq.rb, line 28 def queue(name:, options: {}) default_exchange channel.queue(name, build_options(options, QUEUE_OPTIONS)) end
Private Instance Methods
build_options(options = {}, original_options)
click to toggle source
# File lib/jobi/clients/rabbitmq.rb, line 39 def build_options(options = {}, original_options) options.inject({}) do |mapped_options, (key, value)| mapped_options[original_options[key]] = value mapped_options end end