Sha256: bb88a416e12f83d5595c2e6db482d6ff70c2dda1c995c056b9c7bdcf8af5ff8d
Contents?: true
Size: 1.75 KB
Versions: 5
Compression:
Stored size: 1.75 KB
Contents
# frozen_string_literal: true module RubyRabbitmqJanus module Rabbit # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv> # # Class for manage connection with RabbitMQ class Connect # Initialize connection to server RabbitMQ def initialize @rabbit = Bunny.new(read_options_server.merge!(option_log_rabbit)) rescue raise Errors::Rabbit::Connect::Initialize end # Create an transaction with rabbitmq and close after response is received def transaction_short response = transaction_long { yield } close response rescue raise Errors::Rabbit::Connect::TransactionShort end # Create an transaction with rabbitmq and not close def transaction_long start yield rescue raise Errors::Rabbit::Connect::TransactionLong end # Openning a connection with Rabbitmq def start @rabbit.start rescue raise Errors::Rabbit::Start end # Close connection to server RabbitMQ def close @rabbit.close rescue raise Errors::Rabbit::Close end # Create an channel def channel @rabbit.create_channel rescue raise Errors::Rabbit::Channel end private def read_options_server cfg = Tools::Config.instance.options['rabbit'] opts = {} %w[host port pass user vhost].each do |val| opts.merge!(val.to_sym => cfg[val]) end opts end def option_log_rabbit lvl = Tools::Config.instance.log_level_rabbit.upcase.to_sym { log_level: Tools::Log::LEVELS[lvl], log_file: Tools::Log.instance.logdev } end end end end
Version data entries
5 entries across 5 versions & 1 rubygems