Sha256: 3c419a3b824fd7577e287b27546af62b4b77a110e31e67b59875a5160a6ed7fe

Contents?: true

Size: 630 Bytes

Versions: 4

Compression:

Stored size: 630 Bytes

Contents

# frozen_string_literal: true

class Freddy
  module Producers
    class ReplyProducer
      CONTENT_TYPE = 'application/json'

      def initialize(channel, logger)
        @logger = logger
        @exchange = channel.default_exchange
      end

      def produce(destination, payload, properties)
        if (span = OpenTracing.active_span)
          span.set_tag('message_bus.destination', destination)
        end

        properties = properties.merge(
          routing_key: destination,
          content_type: CONTENT_TYPE
        )

        @exchange.publish Payload.dump(payload), properties
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
freddy-1.7.0 lib/freddy/producers/reply_producer.rb
freddy-1.6.0 lib/freddy/producers/reply_producer.rb
freddy-1.5.0 lib/freddy/producers/reply_producer.rb
freddy-1.4.2 lib/freddy/producers/reply_producer.rb