redis-activesupport 4.1.3 → 4.1.4

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