module AMQP::Hermes::Connectivity
Public Instance Methods
channel()
click to toggle source
# File lib/amqp-hermes/connectivity.rb, line 27 def channel @channel || open_channel end
close()
click to toggle source
# File lib/amqp-hermes/connectivity.rb, line 35 def close return if !open? @connection.close AMQP.stop do EventMachine.stop end @connection = nil end
connection()
click to toggle source
# File lib/amqp-hermes/connectivity.rb, line 4 def connection @connection || open_connection end
open?()
click to toggle source
# File lib/amqp-hermes/connectivity.rb, line 23 def open? EventMachine.reactor_running? && !@connection.nil? end
open_channel()
click to toggle source
# File lib/amqp-hermes/connectivity.rb, line 31 def open_channel @channel = AMQP::Channel.new(self.connection) end
open_connection()
click to toggle source
# File lib/amqp-hermes/connectivity.rb, line 8 def open_connection return @connection if self.open? # start a ractor if non running unless EventMachine.reactor_running? Thread.new do EventMachine.run end AMQP::Hermes.wait_for(EventMachine, :reactor_running?) end @connection = AMQP.connect end