Method: ActiveSupport::Cache::RedisCacheStore.build_redis
- Defined in:
- activesupport/lib/active_support/cache/redis_cache_store.rb
.build_redis(redis: nil, url: nil, **redis_options) ⇒ Object
Factory method to create a new Redis instance.
Handles four options: :redis block, :redis instance, single :url string, and multiple :url strings.
Option Class Result
:redis Proc -> [:redis].call
:redis Object -> [:redis]
:url String -> Redis.new(url:
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'activesupport/lib/active_support/cache/redis_cache_store.rb', line 81 def build_redis(redis: nil, url: nil, **) # :nodoc: urls = Array(url) if redis.is_a?(Proc) redis.call elsif redis redis elsif urls.size > 1 build_redis_distributed_client(urls: urls, **) elsif urls.empty? build_redis_client(**) else build_redis_client(url: urls.first, **) end end |