RedisCacheStore: don't pass url if it's nil
In 5.0 it will prevent `$REDIS_URL` from being used.
This commit is contained in:
parent
adb5028ff8
commit
341d627a57
@ -1,3 +1,7 @@
|
||||
* Redis cache store is now compatible with redis-rb 5.0.
|
||||
|
||||
*Jean Boussier*
|
||||
|
||||
* Log a warning if `ActiveSupport::Cache` is given an expiration in the past.
|
||||
|
||||
*Trevor Turk*
|
||||
|
@ -84,9 +84,11 @@ def build_redis(redis: nil, url: nil, **redis_options) # :nodoc:
|
||||
elsif redis
|
||||
redis
|
||||
elsif urls.size > 1
|
||||
build_redis_distributed_client urls: urls, **redis_options
|
||||
build_redis_distributed_client(urls: urls, **redis_options)
|
||||
elsif urls.empty?
|
||||
build_redis_client(**redis_options)
|
||||
else
|
||||
build_redis_client url: urls.first, **redis_options
|
||||
build_redis_client(url: urls.first, **redis_options)
|
||||
end
|
||||
end
|
||||
|
||||
@ -97,8 +99,8 @@ def build_redis_distributed_client(urls:, **redis_options)
|
||||
end
|
||||
end
|
||||
|
||||
def build_redis_client(url:, **redis_options)
|
||||
::Redis.new DEFAULT_REDIS_OPTIONS.merge(redis_options.merge(url: url))
|
||||
def build_redis_client(**redis_options)
|
||||
::Redis.new(DEFAULT_REDIS_OPTIONS.merge(redis_options))
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -46,7 +46,6 @@ class LookupTest < ActiveSupport::TestCase
|
||||
class InitializationTest < ActiveSupport::TestCase
|
||||
test "omitted URL uses Redis client with default settings" do
|
||||
assert_called_with Redis, :new, [
|
||||
url: nil,
|
||||
connect_timeout: 20, read_timeout: 1, write_timeout: 1,
|
||||
reconnect_attempts: 0
|
||||
] do
|
||||
@ -56,7 +55,6 @@ class InitializationTest < ActiveSupport::TestCase
|
||||
|
||||
test "no URLs uses Redis client with default settings" do
|
||||
assert_called_with Redis, :new, [
|
||||
url: nil,
|
||||
connect_timeout: 20, read_timeout: 1, write_timeout: 1,
|
||||
reconnect_attempts: 0
|
||||
] do
|
||||
|
Loading…
Reference in New Issue
Block a user