diff --git a/lib/sidekiq/redis_connection.rb b/lib/sidekiq/redis_connection.rb index df3af3e3..8a94a57a 100644 --- a/lib/sidekiq/redis_connection.rb +++ b/lib/sidekiq/redis_connection.rb @@ -8,16 +8,14 @@ module Sidekiq class RedisConnection class << self def create(options = {}) - options.keys.each do |key| - options[key.to_sym] = options.delete(key) + symbolized_options = options.transform_keys(&:to_sym) + + if !symbolized_options[:url] && (u = determine_redis_provider) + symbolized_options[:url] = u end - if !options[:url] && (u = determine_redis_provider) - options[:url] = u - end - - size = if options[:size] - options[:size] + size = if symbolized_options[:size] + symbolized_options[:size] elsif Sidekiq.server? # Give ourselves plenty of connections. pool is lazy # so we won't create them until we need them. @@ -30,11 +28,11 @@ module Sidekiq verify_sizing(size, Sidekiq.options[:concurrency]) if Sidekiq.server? - pool_timeout = options[:pool_timeout] || 1 - log_info(options) + pool_timeout = symbolized_options[:pool_timeout] || 1 + log_info(symbolized_options) ConnectionPool.new(timeout: pool_timeout, size: size) do - build_client(options) + build_client(symbolized_options) end end diff --git a/lib/sidekiq/web/helpers.rb b/lib/sidekiq/web/helpers.rb index a78ebd74..f387ed33 100644 --- a/lib/sidekiq/web/helpers.rb +++ b/lib/sidekiq/web/helpers.rb @@ -201,12 +201,9 @@ module Sidekiq # Merge options with current params, filter safe params, and stringify to query string def qparams(options) - # stringify - options.keys.each do |key| - options[key.to_s] = options.delete(key) - end + stringified_options = options.transform_keys(&:to_s) - to_query_string(params.merge(options)) + to_query_string(params.merge(stringified_options)) end def to_query_string(params) diff --git a/lib/sidekiq/worker.rb b/lib/sidekiq/worker.rb index 94d29d5d..ea2c879e 100644 --- a/lib/sidekiq/worker.rb +++ b/lib/sidekiq/worker.rb @@ -235,12 +235,9 @@ module Sidekiq def client_push(item) # :nodoc: pool = Thread.current[:sidekiq_via_pool] || get_sidekiq_options["pool"] || Sidekiq.redis_pool - # stringify - item.keys.each do |key| - item[key.to_s] = item.delete(key) - end + stringified_item = item.transform_keys(&:to_s) - Sidekiq::Client.new(pool).push(item) + Sidekiq::Client.new(pool).push(stringified_item) end end end