Sha256: a4cb1346f17683f05a2c274f08464d60838789af300260e47c3b318948991a12
Contents?: true
Size: 774 Bytes
Versions: 5
Compression:
Stored size: 774 Bytes
Contents
require_relative 'request' require 'json' class Freddy class Producer OnReturnNotImplemented = Class.new(NoMethodError) CONTENT_TYPE = 'application/json'.freeze def initialize(channel, logger) @channel, @logger = channel, logger @exchange = @channel.default_exchange @topic_exchange = @channel.topic Freddy::FREDDY_TOPIC_EXCHANGE_NAME end def produce(destination, payload, properties={}) @logger.debug "Producing message #{payload.inspect} to #{destination}" properties = properties.merge(routing_key: destination, content_type: CONTENT_TYPE) json_payload = Payload.dump(payload) @topic_exchange.publish json_payload, properties.dup @exchange.publish json_payload, properties.dup end end end
Version data entries
5 entries across 5 versions & 2 rubygems
Version | Path |
---|---|
freddy-jruby-0.4.9 | lib/freddy/producer.rb |
freddy-0.4.9 | lib/freddy/producer.rb |
freddy-0.4.8 | lib/freddy/producer.rb |
freddy-0.4.7 | lib/freddy/producer.rb |
freddy-0.4.6 | lib/freddy/producer.rb |