提交 4e13a364 编写于 作者: J Jason Lee

Fix Cache `read_multi` with local_cache return values.

It should returns raw value, not instance of `ActiveSupport::Cache::Entry`.
上级 fab6ded8
......@@ -55,7 +55,14 @@ def read_entry(key, options)
end
def read_multi_entries(keys, options)
Hash[keys.map { |name| [name, read_entry(name, options)] }.keep_if { |_name, value| value }]
values = {}
keys.each do |name|
entry = read_entry(name, options)
values[name] = entry.value if entry
end
values
end
def write_entry(key, value, options)
......
......@@ -129,6 +129,18 @@ def test_local_cache_of_fetch_multi
end
end
def test_local_cache_of_read_multi
@cache.with_local_cache do
@cache.write("foo", "foo", raw: true)
@cache.write("bar", "bar", raw: true)
values = @cache.read_multi("foo", "bar")
assert_equal "foo", @cache.read("foo")
assert_equal "bar", @cache.read("bar")
assert_equal "foo", values["foo"]
assert_equal "bar", values["bar"]
end
end
def test_middleware
app = lambda { |env|
result = @cache.write("foo", "bar")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册