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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b05b5adfbadd1297a6914f2227a649e1bcd0d178
4
- data.tar.gz: 9d8aa9dcf3f9435b00f5e5dd07697beda9930ab1
3
+ metadata.gz: 94c9c56b828e44a78fda3428d2ab7640b2c616af
4
+ data.tar.gz: a28f4c4fe72e9eef468b21743d3057747a93656e
5
5
  SHA512:
6
- metadata.gz: 51829aa977156ed9c8c06bdab489b1f4febfc3c4aedd2d96555996b3a750bd0e64d7d2a708ebadbf51a9baf443f8e97c74622251eac7093dd9d0a9e85b64e5c9
7
- data.tar.gz: c35fac05d247a305443a4732f2daf375f66066e3befc3266f5a6d78348ee20328f1cf2ce3cfb2a386c5d59de4e990633780aa5dcaa93055a71f37270f091a2ad
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
- raw_values.each do |key, value|
56
- entry = deserialize_entry(value)
57
- values[keys_to_names[key]] = entry.value unless entry.expired?
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:
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module MemcachedStore
3
- VERSION = "0.11.0"
3
+ VERSION = "0.11.1"
4
4
  end
@@ -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.5.0"
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.0
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-10 00:00:00.000000000 Z
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.5.0
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.5.0
56
+ version: 1.7.2
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rake
59
59
  requirement: !ruby/object:Gem::Requirement