提交 e7f56a7f 编写于 作者: A Arthur Neves

Raise if MemCacheStore doenst receive a Dalli obj

:mem_cache_store should receive a list of hosts or a dalli client,
otherwise raise it.
Also adding a changelog.
上级 98458eea
* MemCacheStore should only accept a Dalli::Client, or create one.
*arthurnn*
* Don't lazy load the `tzinfo` library as it causes problems on Windows.
Fixes #13553
......
......@@ -46,6 +46,9 @@ def initialize(*addresses)
options = addresses.extract_options!
super(options)
unless [String, Dalli::Client, NilClass].include?(addresses.first.class)
raise ArgumentError, "First argument must be an empty array, an array of hosts or a Dalli::Client instance."
end
if addresses.first.is_a?(Dalli::Client)
@data = addresses.first
else
......
......@@ -110,6 +110,14 @@ def test_mem_cache_fragment_cache_store_with_given_mem_cache
assert_kind_of(ActiveSupport::Cache::MemCacheStore, store)
end
def test_mem_cache_fragment_cache_store_with_not_dalli_client
Dalli::Client.expects(:new).never
memcache = Object.new
assert_raises(ArgumentError) do
ActiveSupport::Cache.lookup_store :mem_cache_store, memcache
end
end
def test_mem_cache_fragment_cache_store_with_multiple_servers
Dalli::Client.expects(:new).with(%w[localhost 192.168.1.1], {})
store = ActiveSupport::Cache.lookup_store :mem_cache_store, "localhost", '192.168.1.1'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册