class GorgService::Producer

Attributes

default_exchange[RW]
environment[RW]

Public Class Methods

new(environment_: GorgService.environment ,default_exchange_: nil) click to toggle source
# File lib/gorg_service/producer.rb, line 11
def initialize(environment_: GorgService.environment ,default_exchange_: nil)
  self.environment=environment_
  self.default_exchange= default_exchange_ || environment.event_exchange
end

Public Instance Methods

publish_message(message, exchange: default_exchange) click to toggle source
# File lib/gorg_service/producer.rb, line 17
def publish_message(message, exchange: default_exchange)
  x=exchange.is_a?(Bunny::Exchange) ? exchange : environment.find_exchange_by_name(exchange)
  GorgService.logger.info "Publish to #{x.name} - key : #{message.routing_key}"
  GorgService.logger.debug "Message content : #{message.body.to_s[0...10000]}"

  x.publish(message.to_json, message.properties)
end