diff --git a/lib/outboxable/connection.rb b/lib/outboxable/connection.rb new file mode 100644 index 0000000..af3f92c --- /dev/null +++ b/lib/outboxable/connection.rb @@ -0,0 +1,26 @@ +require 'singleton' + +module Outboxable + class Connection + include ::Singleton + attr_reader :connection + + def initialize + @connection = Bunny.new( + host: RabbitCarrots.configuration.rabbitmq_host, + port: RabbitCarrots.configuration.rabbitmq_port, + user: RabbitCarrots.configuration.rabbitmq_user, + password: RabbitCarrots.configuration.rabbitmq_password, + vhost: RabbitCarrots.configuration.rabbitmq_vhost + ) + + @connection.start + end + + def channel + @channel ||= ConnectionPool.new do + connection.create_channel + end + end + end +end