Skip to content

Commit

Permalink
Merge pull request #41381 from movermeyer/allow_for_nil_addresses_fro…
Browse files Browse the repository at this point in the history
…m_dalli_store

Allow addresses to support `nil` values
  • Loading branch information
rafaelfranca committed Feb 9, 2021
2 parents a57c6ee + 71963b1 commit 06e8d5c
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
20 changes: 20 additions & 0 deletions activesupport/CHANGELOG.md
@@ -1,3 +1,23 @@
* `ActiveSupport::Cache::MemCacheStore` now accepts an explicit `nil` for its `addresses` argument.

```ruby
config.cache_store = :mem_cache_store, nil

# is now equivalent to

config.cache_store = :mem_cache_store

# and is also equivalent to

config.cache_store = :mem_cache_store, ENV["MEMCACHE_SERVERS"] || "localhost:11211"

# which is the fallback behavior of Dalli
```

This helps those migrating from `:dalli_store`, where an explicit `nil` was permitted.

*Michael Overmeyer*

* Add `Enumerable#in_order_of` to put an Enumerable in a certain order by a key.

*DHH*
Expand Down
2 changes: 1 addition & 1 deletion activesupport/lib/active_support/cache/mem_cache_store.rb
Expand Up @@ -64,7 +64,7 @@ def self.supports_cache_versioning?
def self.build_mem_cache(*addresses) # :nodoc:
addresses = addresses.flatten
options = addresses.extract_options!
addresses = nil if addresses.empty?
addresses = nil if addresses.compact.empty?
pool_options = retrieve_pool_options(options)

if pool_options.empty?
Expand Down
8 changes: 8 additions & 0 deletions activesupport/test/cache/stores/mem_cache_store_test.rb
Expand Up @@ -197,6 +197,14 @@ def test_falls_back_to_localhost_if_no_address_provided_and_memcache_servers_und
end
end

def test_falls_back_to_localhost_if_address_provided_as_nil
with_memcache_servers_environment_variable(nil) do
cache = ActiveSupport::Cache.lookup_store(:mem_cache_store, nil)

assert_equal ["127.0.0.1:11211"], servers(cache)
end
end

def test_falls_back_to_localhost_if_no_address_provided_and_memcache_servers_defined
with_memcache_servers_environment_variable("custom_host") do
cache = ActiveSupport::Cache.lookup_store(:mem_cache_store)
Expand Down

0 comments on commit 06e8d5c

Please sign in to comment.