redis-activesupport 4.1.3 → 4.1.4

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: a6cc8e30d7100675cdc3a7e084d38a411eb8f16c
4
- data.tar.gz: bf7596fdbaa0a273b765caa79ac9a12cc8932abd
3
+ metadata.gz: 4712e8a2e37c5628d8387a0dcc60f948a49810df
4
+ data.tar.gz: dd9ddcabcbb8777d99b317987323e947189705e1
5
5
  SHA512:
6
- metadata.gz: 379772520d26e90dd4f885eee71278fcf5722c5de18046311ba1bd32620275c2fe6950dcf24723a07271b91aac71039a3aa95ea9abbd3ee11be6b89e1df2f83a
7
- data.tar.gz: 0eb4ff83f2aa7a296807e51735eb12bf2c7e5b027b60c29b9ed06b48fc752837bd2d896e81cf885fca2aee009f8afbc741ba88ccae406476f6b2838fb0cb95e9
6
+ metadata.gz: 5d92c91e4ab4dab196da67b72a1e98c6c4d69b230a95532c8eb5ec69722becacf2554fcdbb9a02ec05fe747088c8ed40eede4c1f83fa8b98b97bf166c362134f
7
+ data.tar.gz: 5c66ec9184dc8afdd8a82773cc53536f966aa322d6df3cf17fe3cb1664b5bc1b119d87857b54bee8f96d54a2caa41bd39859e9ddee8170dd0c478c9c42d4e88d
@@ -78,7 +78,8 @@ module ActiveSupport
78
78
  with do |store|
79
79
  !(keys = store.keys(matcher)).empty? && store.del(*keys)
80
80
  end
81
- rescue Errno::ECONNREFUSED, Redis::CannotConnectError
81
+ rescue Errno::ECONNREFUSED, Redis::CannotConnectError => e
82
+ raise if raise_errors?
82
83
  false
83
84
  end
84
85
  end
@@ -220,7 +221,8 @@ module ActiveSupport
220
221
  def write_entry(key, entry, options)
221
222
  method = options && options[:unless_exist] ? :setnx : :set
222
223
  with { |client| client.send method, key, entry, options }
223
- rescue Errno::ECONNREFUSED, Redis::CannotConnectError
224
+ rescue Errno::ECONNREFUSED, Redis::CannotConnectError => e
225
+ raise if raise_errors?
224
226
  false
225
227
  end
226
228
 
@@ -229,7 +231,8 @@ module ActiveSupport
229
231
  if entry
230
232
  entry.is_a?(ActiveSupport::Cache::Entry) ? entry : ActiveSupport::Cache::Entry.new(entry)
231
233
  end
232
- rescue Errno::ECONNREFUSED, Redis::CannotConnectError
234
+ rescue Errno::ECONNREFUSED, Redis::CannotConnectError => e
235
+ raise if raise_errors?
233
236
  nil
234
237
  end
235
238
 
@@ -240,10 +243,15 @@ module ActiveSupport
240
243
  #
241
244
  def delete_entry(key, options)
242
245
  entry = with { |c| c.del key }
243
- rescue Errno::ECONNREFUSED, Redis::CannotConnectError
246
+ rescue Errno::ECONNREFUSED, Redis::CannotConnectError => e
247
+ raise if raise_errors?
244
248
  false
245
249
  end
246
250
 
251
+ def raise_errors?
252
+ !!@options[:raise_errors]
253
+ end
254
+
247
255
 
248
256
  # Add the namespace defined in the options to a pattern designed to match keys.
249
257
  #
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'redis-activesupport'
6
- s.version = '4.1.3'
6
+ s.version = '4.1.4'
7
7
  s.authors = ['Luca Guidi', 'Ryan Bigg']
8
8
  s.email = ['me@lucaguidi.com', 'me@ryanbigg.com']
9
9
  s.homepage = 'http://redis-store.org/redis-activesupport'
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ['lib']
20
20
 
21
21
  s.add_runtime_dependency 'redis-store', '~> 1.1.0'
22
- s.add_runtime_dependency 'activesupport', '~> 3'
22
+ s.add_runtime_dependency 'activesupport', '>= 3', '< 5'
23
23
 
24
24
  s.add_development_dependency 'rake', '~> 10'
25
25
  s.add_development_dependency 'bundler', '~> 1.3'
@@ -440,6 +440,60 @@ describe ActiveSupport::Cache::RedisStore do
440
440
  end
441
441
  end
442
442
 
443
+ describe "raise_errors => true" do
444
+ def setup
445
+ @raise_error_store = ActiveSupport::Cache::RedisStore.new("redis://127.0.0.1:6380/1", :raise_errors => true)
446
+ @raise_error_store.stubs(:with).raises(Redis::CannotConnectError)
447
+ end
448
+
449
+ it "raises on read when redis is unavailable" do
450
+ assert_raises(Redis::CannotConnectError) do
451
+ @raise_error_store.read("rabbit")
452
+ end
453
+ end
454
+
455
+ it "raises on writes when redis is unavailable" do
456
+ assert_raises(Redis::CannotConnectError) do
457
+ @raise_error_store.write "rabbit", @white_rabbit, :expires_in => 1.second
458
+ end
459
+ end
460
+
461
+ it "raises on delete when redis is unavailable" do
462
+ assert_raises(Redis::CannotConnectError) do
463
+ @raise_error_store.delete "rabbit"
464
+ end
465
+ end
466
+
467
+ it "raises on delete_matched when redis is unavailable" do
468
+ assert_raises(Redis::CannotConnectError) do
469
+ @raise_error_store.delete_matched "rabb*"
470
+ end
471
+ end
472
+ end
473
+
474
+ describe "raise_errors => false" do
475
+ def setup
476
+ @raise_error_store = ActiveSupport::Cache::RedisStore.new("redis://127.0.0.1:6380/1")
477
+ @raise_error_store.stubs(:with).raises(Redis::CannotConnectError)
478
+ end
479
+
480
+ it "is nil when redis is unavailable" do
481
+ @raise_error_store.read("rabbit").must_be_nil
482
+ end
483
+
484
+ it "returns false when redis is unavailable" do
485
+ @raise_error_store.write("rabbit", @white_rabbit, :expires_in => 1.second).must_equal(false)
486
+ end
487
+
488
+ it "returns false when redis is unavailable" do
489
+ @raise_error_store.delete("rabbit").must_equal(false)
490
+ end
491
+
492
+ it "raises on delete_matched when redis is unavailable" do
493
+ @raise_error_store.delete_matched("rabb*").must_equal(false)
494
+ end
495
+ end
496
+
443
497
  private
444
498
  def instantiate_store(*addresses)
445
499
  ActiveSupport::Cache::RedisStore.new(*addresses).instance_variable_get(:@data)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-activesupport
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.3
4
+ version: 4.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-10-01 00:00:00.000000000 Z
12
+ date: 2015-10-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis-store
@@ -29,16 +29,22 @@ dependencies:
29
29
  name: activesupport
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '3'
35
+ - - "<"
36
+ - !ruby/object:Gem::Version
37
+ version: '5'
35
38
  type: :runtime
36
39
  prerelease: false
37
40
  version_requirements: !ruby/object:Gem::Requirement
38
41
  requirements:
39
- - - "~>"
42
+ - - ">="
40
43
  - !ruby/object:Gem::Version
41
44
  version: '3'
45
+ - - "<"
46
+ - !ruby/object:Gem::Version
47
+ version: '5'
42
48
  - !ruby/object:Gem::Dependency
43
49
  name: rake
44
50
  requirement: !ruby/object:Gem::Requirement