From d7c7415438e47216ef08e2cc9ca4f854e8759311 Mon Sep 17 00:00:00 2001 From: Ari Karim Date: Sun, 18 Jan 2026 11:04:42 +0300 Subject: [PATCH] feat: Add exchange_name parameter to run_task method and update Rubocop configuration for parameter lists. --- .rubocop.yml | 2 ++ lib/rabbit_carrots/core.rb | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index d87abcd..00a5aa0 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -112,3 +112,5 @@ Metrics/CyclomaticComplexity: Max: 15 Metrics/PerceivedComplexity: Max: 15 +Metrics/ParameterLists: + Max: 6 diff --git a/lib/rabbit_carrots/core.rb b/lib/rabbit_carrots/core.rb index ffe7f98..1133fbb 100644 --- a/lib/rabbit_carrots/core.rb +++ b/lib/rabbit_carrots/core.rb @@ -36,6 +36,7 @@ module RabbitCarrots handler_class:, routing_keys: channel[:routing_keys], queue_arguments: channel[:arguments], + exchange_name: channel[:exchange_name], kill_to_restart_on_standard_error: ) end @@ -76,9 +77,9 @@ module RabbitCarrots @running = false end - def run_task(queue_name:, handler_class:, routing_keys:, queue_arguments: {}, kill_to_restart_on_standard_error: false) + def run_task(queue_name:, handler_class:, routing_keys:, queue_arguments: {}, exchange_name: nil, kill_to_restart_on_standard_error: false) RabbitCarrots::Connection.instance.channel.with do |channel| - exchange = channel.topic(RabbitCarrots.configuration.rabbitmq_exchange_name, durable: true) + exchange = channel.topic(exchange_name || RabbitCarrots.configuration.rabbitmq_exchange_name, durable: true) logger.info "Listening on QUEUE: #{queue_name} for ROUTING KEYS: #{routing_keys}" queue = channel.queue(queue_name, durable: true, arguments: queue_arguments)