class Mnemosyne::Client
Public Class Methods
instance()
click to toggle source
# File lib/mnemosyne/client.rb, line 51 def instance @instance ||= new end
new(config)
click to toggle source
# File lib/mnemosyne/client.rb, line 9 def initialize(config) @config = config end
Public Instance Methods
call(trace)
click to toggle source
# File lib/mnemosyne/client.rb, line 34 def call(trace) message = { hostname: @config.hostname, platform: @config.platform, application: @config.application } # TODO: nest message.merge! trace.serialize exchange.publish JSON.dump(message), persistent: true, routing_key: "mnemosyne.trace.#{@config.platform}", content_type: 'application/json' end
channel()
click to toggle source
# File lib/mnemosyne/client.rb, line 26 def channel @channel ||= connection.create_channel end
connection()
click to toggle source
# File lib/mnemosyne/client.rb, line 13 def connection @connection ||= begin logger.info "[Mnemosyne] Connect to #{@config.server}..." connection = ::Bunny.new @config.amqp, logger: logger, heartbeat: :server connection.start connection end end
exchange()
click to toggle source
# File lib/mnemosyne/client.rb, line 30 def exchange @exchange ||= channel.topic @config.exchange, durable: true end