lib/rrj/rabbitmq/rabbitmq.rb in ruby_rabbitmq_janus-0.1.1 vs lib/rrj/rabbitmq/rabbitmq.rb in ruby_rabbitmq_janus-0.3.0

- old
+ new

@@ -5,30 +5,32 @@ module RubyRabbitmqJanus # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv> # Class for connection with RabbitMQ Server class RabbitMQ # Return a new instance to RabbitMQ - # @param configuration [RRJ::Config] Configuration file to gem - # @param requests [Hash] Request sending to RabbitMQ - # @param logs [RRJ::Log] Log to gem - def initialize(configuration, requests, logs) - @settings = configuration - @logs = logs - @requests = requests + def initialize @connection = Bunny.new(read_options_server) - @response = nil - @janus = nil + @janus, @response = nil end # Connect to server RabbitMQ and post a message in queue ('to-janus' by default) - def ask_request(request_type, opts) + def ask_request_sync(request_type, opts) execute_request do - @response = @janus.send(@requests[request_type.to_s], opts) + rqt = Requests.instance.requests[request_type.to_s] + @response = @janus.send(rqt, opts) close_server_rabbitmq end end + def ask_request_async(request_type, opts) + execute_request do + rqt = Requests.instance.requests[request_type.to_s] + @response = @janus.send_async(rqt, opts) + close_server_rabbitmq + end + end + # Connect to server RabbitMQ and read a message in queue ('from-janus' by default) def ask_response(info_request) execute_request do @response = @janus.read(info_request, @connection) end @@ -47,21 +49,33 @@ def close_server_rabbitmq @connection.close end # Use configuration information to connect RabbitMQ + # This method smells of :reek:DuplicateMethodCall + # This method smells of :reek:TooManyStatements + # This method smells of :reek:FeatureEnvy def read_options_server hash = {} - @settings.options.fetch('server').each do |key, server| - hash.merge!(key.to_sym => server.to_s) + hash.merge!(define_options) + hash['log_level'] = Log.instance.level + hash['log_file'] = Log.instance.log_file + hash + end + + # This method smells of :reek:UtilityFunction + def define_options + hash = {} + Config.instance.options.fetch('server').each do |key, server| + hash[key.to_sym] = server.to_s end hash end # Execute request def execute_request open_server_rabbitmq - @janus = Janus.new(@connection, @settings.options, @logs) + @janus = Janus.new(@connection) yield @response end end end