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 +4 -4
- data/lib/active_support/cache/redis_store.rb +12 -4
- data/redis-activesupport.gemspec +2 -2
- data/test/active_support/cache/redis_store_test.rb +54 -0
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4712e8a2e37c5628d8387a0dcc60f948a49810df
|
4
|
+
data.tar.gz: dd9ddcabcbb8777d99b317987323e947189705e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
#
|
data/redis-activesupport.gemspec
CHANGED
@@ -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.
|
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', '
|
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.
|
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-
|
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
|