class Rabbitek::Publisher
Handles publishing message to RabbitMQ
Public Class Methods
new(exchange_name, exchange_type: 'direct', channel: nil)
click to toggle source
# File lib/rabbitek/client/publisher.rb, line 7 def initialize(exchange_name, exchange_type: 'direct', channel: nil) @channel = channel || Rabbitek.create_channel @exchange_name = exchange_name @exchange_type = exchange_type end
Public Instance Methods
close()
click to toggle source
# File lib/rabbitek/client/publisher.rb, line 19 def close @channel.close end
exchange()
click to toggle source
# File lib/rabbitek/client/publisher.rb, line 23 def exchange @exchange ||= Utils::Common.exchange(@channel, @exchange_type, @exchange_name) end
publish(payload, params = {})
click to toggle source
# File lib/rabbitek/client/publisher.rb, line 13 def publish(payload, params = {}) Utils::HookWalker.new(Rabbitek.config.client_hooks).call!(payload, params) do |parsed_payload, parsed_params| exchange.publish(Utils::Oj.dump(parsed_payload), parsed_params) end end