memcached_store 0.11.0 → 0.11.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|