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