module Evrone::Common::AMQP::Consumer::Publish

Public Instance Methods

publish(message, options = nil) click to toggle source
# File lib/evrone/common/amqp/consumer/publish.rb, line 6
def publish(message, options = nil)
  session.open

  options ||= {}
  options[:routing_key]  = routing_key if routing_key && !options.key?(:routing_key)
  options[:headers]      = headers     if headers && !options.key?(:headers)
  options[:content_type] ||= content_type || config.content_type

  x = declare_exchange

  run_callbacks(:publish, message: message, exchange: x, name: consumer_id) do
    m = serialize_message message, options[:content_type]
    x.publish m, options
  end

  debug "published #{message.inspect} to #{x.name}"
  self
end
Also aliased as: real_publish
real_publish(message, options = nil)
Alias for: publish
serialize_message(message, content_type) click to toggle source
# File lib/evrone/common/amqp/consumer/publish.rb, line 25
def serialize_message(message, content_type)
  Common::AMQP::Formatter.pack(content_type, message)
end