class EventBus::Broker::Rabbit
Public Class Methods
close_connection()
click to toggle source
# File lib/event_bus/broker/rabbit.rb, line 18 def self.close_connection @@connection.close end
Public Instance Methods
connection()
click to toggle source
# File lib/event_bus/broker/rabbit.rb, line 4 def connection @@connection ||= session end
consume(event_name, &block)
click to toggle source
# File lib/event_bus/broker/rabbit.rb, line 8 def consume(event_name, &block) Queue.subscribe(channel, event_name, &block) end
produce(events)
click to toggle source
# File lib/event_bus/broker/rabbit.rb, line 12 def produce(events) events.each do |event| Topic.produce(channel, event) end end
Private Instance Methods
channel()
click to toggle source
# File lib/event_bus/broker/rabbit.rb, line 24 def channel @@channel ||= connection.create_channel @@channel = connection.create_channel if @@channel.closed? @@channel end
session()
click to toggle source
# File lib/event_bus/broker/rabbit.rb, line 30 def session Bunny.new(url).tap do |session| session.start end end
url()
click to toggle source
# File lib/event_bus/broker/rabbit.rb, line 36 def url EventBus::Config::FULL_URL end