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 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