memcached_store 0.11.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/active_support/cache/memcached_store.rb +9 -4
- data/lib/memcached_store/version.rb +1 -1
- data/memcached_store.gemspec +1 -1
- data/test/test_memcached_store.rb +31 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94c9c56b828e44a78fda3428d2ab7640b2c616af
|
4
|
+
data.tar.gz: a28f4c4fe72e9eef468b21743d3057747a93656e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7268f89eeb01a051ffe719209ba1cc00e6b4af33768dbe31ac7c4df0a85b5bcb9e356a84424ddce5da5cc6c2a4ed2973f2c09b18a67815c91862eea4df03285
|
7
|
+
data.tar.gz: a1a8d09654d37dfa0aae58868e58a6cb612024c5a902d6883894885909f6c43e8295c1784f4555e085d7999d19b242acc32b0b70c0153e7192074733a3e5fc61
|
@@ -50,13 +50,18 @@ module ActiveSupport
|
|
50
50
|
options = names.extract_options!
|
51
51
|
options = merged_options(options)
|
52
52
|
keys_to_names = Hash[names.map{|name| [escape_key(namespaced_key(name, options)), name]}]
|
53
|
-
raw_values = @data.get_multi(keys_to_names.keys, :raw => true)
|
54
53
|
values = {}
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
|
55
|
+
if raw_values = @data.get_multi(keys_to_names.keys, :raw => true)
|
56
|
+
raw_values.each do |key, value|
|
57
|
+
entry = deserialize_entry(value)
|
58
|
+
values[keys_to_names[key]] = entry.value unless entry.expired?
|
59
|
+
end
|
58
60
|
end
|
59
61
|
values
|
62
|
+
rescue *NONFATAL_EXCEPTIONS => e
|
63
|
+
@data.log_exception(e)
|
64
|
+
{}
|
60
65
|
end
|
61
66
|
|
62
67
|
def increment(name, amount = 1, options = nil) # :nodoc:
|
data/memcached_store.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.version = MemcachedStore::VERSION
|
18
18
|
gem.add_runtime_dependency "activesupport", ">= 3.2"
|
19
19
|
gem.add_runtime_dependency "snappy", "0.0.4"
|
20
|
-
gem.add_runtime_dependency "memcached", "~> 1.
|
20
|
+
gem.add_runtime_dependency "memcached", "~> 1.7.2"
|
21
21
|
|
22
22
|
gem.add_development_dependency "rake"
|
23
23
|
gem.add_development_dependency "minitest"
|
@@ -6,6 +6,16 @@ class TestMemcachedStore < ActiveSupport::TestCase
|
|
6
6
|
@cache.clear
|
7
7
|
end
|
8
8
|
|
9
|
+
def test_write_not_found
|
10
|
+
expect_not_found
|
11
|
+
assert_equal false, @cache.write('not_exist', 1)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_fetch_not_found
|
15
|
+
expect_not_found
|
16
|
+
assert_equal nil, @cache.fetch('not_exist')
|
17
|
+
end
|
18
|
+
|
9
19
|
def test_should_read_and_write_strings
|
10
20
|
assert @cache.write('foo', 'bar')
|
11
21
|
assert_equal 'bar', @cache.read('foo')
|
@@ -84,6 +94,11 @@ class TestMemcachedStore < ActiveSupport::TestCase
|
|
84
94
|
assert_equal({"foo" => "bar", "fu" => "baz"}, @cache.read_multi('foo', 'fu'))
|
85
95
|
end
|
86
96
|
|
97
|
+
def test_read_multi_not_found
|
98
|
+
expect_not_found
|
99
|
+
assert_equal({}, @cache.read_multi('foe', 'fue'))
|
100
|
+
end
|
101
|
+
|
87
102
|
def test_read_multi_with_expires
|
88
103
|
@cache.write('foo', 'bar', :expires_in => 0.001)
|
89
104
|
@cache.write('fu', 'baz')
|
@@ -250,6 +265,11 @@ class TestMemcachedStore < ActiveSupport::TestCase
|
|
250
265
|
assert_nil @cache.increment('bar')
|
251
266
|
end
|
252
267
|
|
268
|
+
def test_increment_not_found
|
269
|
+
expect_not_found
|
270
|
+
assert_equal nil, @cache.increment('not_exist')
|
271
|
+
end
|
272
|
+
|
253
273
|
def test_decrement
|
254
274
|
@cache.write('foo', 3, :raw => true)
|
255
275
|
assert_equal 3, @cache.read('foo').to_i
|
@@ -260,6 +280,11 @@ class TestMemcachedStore < ActiveSupport::TestCase
|
|
260
280
|
assert_nil @cache.decrement('bar')
|
261
281
|
end
|
262
282
|
|
283
|
+
def test_decrement_not_found
|
284
|
+
expect_not_found
|
285
|
+
assert_equal nil, @cache.decrement('not_exist')
|
286
|
+
end
|
287
|
+
|
263
288
|
def test_common_utf8_values
|
264
289
|
key = "\xC3\xBCmlaut".force_encoding(Encoding::UTF_8)
|
265
290
|
assert @cache.write(key, "1", :raw => true)
|
@@ -288,4 +313,10 @@ class TestMemcachedStore < ActiveSupport::TestCase
|
|
288
313
|
cache = ActiveSupport::Cache.lookup_store(:memcached_store, options)
|
289
314
|
assert_equal [21211, 11211], cache.instance_variable_get(:@data).servers.map(&:port)
|
290
315
|
end
|
316
|
+
|
317
|
+
private
|
318
|
+
|
319
|
+
def expect_not_found
|
320
|
+
@cache.instance_variable_get(:@data).expects(:check_return_code).raises(Memcached::NotFound)
|
321
|
+
end
|
291
322
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memcached_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Camilo Lopez
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-01-
|
13
|
+
date: 2014-01-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -46,14 +46,14 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.
|
49
|
+
version: 1.7.2
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 1.
|
56
|
+
version: 1.7.2
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: rake
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|