redis-rack 2.0.6 → 2.1.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/.travis.yml +4 -7
- data/lib/rack/session/redis.rb +11 -11
- data/lib/redis/rack/version.rb +1 -1
- data/redis-rack.gemspec +1 -1
- data/test/rack/session/redis_test.rb +6 -2
- metadata +14 -10
- data/Appraisals +0 -7
- data/gemfiles/rack_1.gemfile +0 -7
- data/gemfiles/rack_2.gemfile +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f58690fddef5788f2c9b9297969f1ad812278554aca17f40842b163a6362f1bc
|
4
|
+
data.tar.gz: e89fb1293e5cc06955ab50138d27e7766d7a07691916ae351347ef29b43751d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5263c92df2caeadca08bcc303a8454965f1aca30d48f958bfb0773f5af52f866b51d1cf6ce5d7850737036fe486e8dd20d2aeb45e550a088db600295515cd5d3
|
7
|
+
data.tar.gz: 0312052d9285c9cef39ab3857d13c42df7023d494fb4392112bc1fce475fd905f51beaf253f337abab07d6d013dce7f32af5c5a1c4cd749fb744e9928ce7d36b
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.2
|
data/.travis.yml
CHANGED
@@ -1,17 +1,14 @@
|
|
1
1
|
language: ruby
|
2
2
|
script: bundle exec rake
|
3
3
|
rvm:
|
4
|
-
- 2.2.3
|
5
|
-
- 2.3.1
|
6
|
-
- ruby-head
|
7
|
-
- jruby-head
|
4
|
+
- 2.2.3
|
5
|
+
- 2.3.1
|
6
|
+
- ruby-head
|
7
|
+
- jruby-head
|
8
8
|
matrix:
|
9
9
|
allow_failures:
|
10
10
|
- rvm: jruby-head
|
11
11
|
- rvm: ruby-head
|
12
|
-
gemfile:
|
13
|
-
- gemfiles/rack_2.gemfile
|
14
|
-
- gemfiles/rack_1.gemfile
|
15
12
|
deploy:
|
16
13
|
provider: rubygems
|
17
14
|
api_key:
|
data/lib/rack/session/redis.rb
CHANGED
@@ -5,10 +5,10 @@ require 'redis/rack/connection'
|
|
5
5
|
|
6
6
|
module Rack
|
7
7
|
module Session
|
8
|
-
class Redis < Abstract::
|
8
|
+
class Redis < Abstract::Persisted
|
9
9
|
attr_reader :mutex
|
10
10
|
|
11
|
-
DEFAULT_OPTIONS = Abstract::
|
11
|
+
DEFAULT_OPTIONS = Abstract::Persisted::DEFAULT_OPTIONS.merge(
|
12
12
|
:redis_server => 'redis://127.0.0.1:6379/0/rack:session'
|
13
13
|
)
|
14
14
|
|
@@ -30,11 +30,11 @@ module Rack
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
34
|
-
if
|
33
|
+
def find_session(req, sid)
|
34
|
+
if req.session.options[:skip]
|
35
35
|
[generate_sid, {}]
|
36
36
|
else
|
37
|
-
with_lock(
|
37
|
+
with_lock(req, [nil, {}]) do
|
38
38
|
unless sid and session = with { |c| c.get(sid) }
|
39
39
|
session = {}
|
40
40
|
sid = generate_unique_sid(session)
|
@@ -44,15 +44,15 @@ module Rack
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
def
|
48
|
-
with_lock(
|
47
|
+
def write_session(req, session_id, new_session, options)
|
48
|
+
with_lock(req, false) do
|
49
49
|
with { |c| c.set session_id, new_session, options }
|
50
50
|
session_id
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
def
|
55
|
-
with_lock(
|
54
|
+
def delete_session(req, session_id, options)
|
55
|
+
with_lock(req) do
|
56
56
|
with { |c| c.del(session_id) }
|
57
57
|
generate_sid unless options[:drop]
|
58
58
|
end
|
@@ -62,8 +62,8 @@ module Rack
|
|
62
62
|
@default_options.fetch(:threadsafe, true)
|
63
63
|
end
|
64
64
|
|
65
|
-
def with_lock(
|
66
|
-
@mutex.lock if
|
65
|
+
def with_lock(req, default=nil)
|
66
|
+
@mutex.lock if req.multithread? && threadsafe?
|
67
67
|
yield
|
68
68
|
rescue Errno::ECONNREFUSED
|
69
69
|
if $VERBOSE
|
data/lib/redis/rack/version.rb
CHANGED
data/redis-rack.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_runtime_dependency 'rack', '>= 1.5', '< 3'
|
24
24
|
|
25
25
|
s.add_development_dependency 'rake', '~> 10'
|
26
|
-
s.add_development_dependency 'bundler', '
|
26
|
+
s.add_development_dependency 'bundler', '> 1', '< 3'
|
27
27
|
s.add_development_dependency 'mocha', '~> 0.14.0'
|
28
28
|
s.add_development_dependency 'minitest', '~> 5'
|
29
29
|
s.add_development_dependency 'redis-store-testing'
|
@@ -102,7 +102,9 @@ describe Rack::Session::Redis do
|
|
102
102
|
sesion_store = Rack::Session::Redis.new(incrementor)
|
103
103
|
sesion_store.instance_variable_set(:@mutex, mutex)
|
104
104
|
was_yielded = false
|
105
|
-
|
105
|
+
request = Minitest::Mock.new
|
106
|
+
request.expect(:multithread?, true)
|
107
|
+
sesion_store.with_lock(request) { was_yielded = true}
|
106
108
|
was_yielded.must_equal(true)
|
107
109
|
end
|
108
110
|
|
@@ -118,7 +120,9 @@ describe Rack::Session::Redis do
|
|
118
120
|
sesion_store = Rack::Session::Redis.new(incrementor, :threadsafe => false)
|
119
121
|
sesion_store.instance_variable_set(:@mutex, mutex)
|
120
122
|
was_yielded = false
|
121
|
-
|
123
|
+
request = Minitest::Mock.new
|
124
|
+
request.expect(:multithread?, true)
|
125
|
+
sesion_store.with_lock(request) { was_yielded = true}
|
122
126
|
was_yielded.must_equal(true)
|
123
127
|
end
|
124
128
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis-rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.1.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
@@ -68,16 +68,22 @@ dependencies:
|
|
68
68
|
name: bundler
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - "
|
71
|
+
- - ">"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '1'
|
74
|
+
- - "<"
|
72
75
|
- !ruby/object:Gem::Version
|
73
|
-
version: '
|
76
|
+
version: '3'
|
74
77
|
type: :development
|
75
78
|
prerelease: false
|
76
79
|
version_requirements: !ruby/object:Gem::Requirement
|
77
80
|
requirements:
|
78
|
-
- - "
|
81
|
+
- - ">"
|
79
82
|
- !ruby/object:Gem::Version
|
80
|
-
version: '1
|
83
|
+
version: '1'
|
84
|
+
- - "<"
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '3'
|
81
87
|
- !ruby/object:Gem::Dependency
|
82
88
|
name: mocha
|
83
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,8 +163,8 @@ extra_rdoc_files: []
|
|
157
163
|
files:
|
158
164
|
- ".github/auto-assign-issues.yml"
|
159
165
|
- ".gitignore"
|
166
|
+
- ".ruby-version"
|
160
167
|
- ".travis.yml"
|
161
|
-
- Appraisals
|
162
168
|
- CODEOWNERS
|
163
169
|
- Gemfile
|
164
170
|
- MIT-LICENSE
|
@@ -166,8 +172,6 @@ files:
|
|
166
172
|
- Rakefile
|
167
173
|
- bin/appraisal
|
168
174
|
- bin/rake
|
169
|
-
- gemfiles/rack_1.gemfile
|
170
|
-
- gemfiles/rack_2.gemfile
|
171
175
|
- lib/rack/session/redis.rb
|
172
176
|
- lib/redis-rack.rb
|
173
177
|
- lib/redis/rack/connection.rb
|
@@ -191,9 +195,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
191
195
|
version: '0'
|
192
196
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
197
|
requirements:
|
194
|
-
- - "
|
198
|
+
- - ">"
|
195
199
|
- !ruby/object:Gem::Version
|
196
|
-
version:
|
200
|
+
version: 1.3.1
|
197
201
|
requirements: []
|
198
202
|
rubygems_version: 3.0.3
|
199
203
|
signing_key:
|
data/Appraisals
DELETED
data/gemfiles/rack_1.gemfile
DELETED