redis-actionpack 4.0.0 → 4.0.1
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/.gitignore +2 -3
- data/.travis.yml +14 -0
- data/Gemfile +5 -11
- data/README.md +22 -12
- data/Rakefile +2 -6
- data/lib/action_dispatch/middleware/session/redis_store.rb +9 -0
- data/lib/redis/actionpack/version.rb +1 -1
- data/redis-actionpack.gemspec +10 -8
- data/test/integration/redis_store_integration_test.rb +177 -84
- metadata +43 -31
- data/test/dummy/config/initializers/secret_token.rb +0 -7
- data/test/dummy/config/initializers/session_store.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e24f124eb1b433979f43c1b13d07504e3fdda9ef
|
4
|
+
data.tar.gz: 21b16d0bf1e6f95d44422da056480ebdfb2e1f96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48da5d2a4602784d86625ec3b353e7421d78c470a44fe56aafec6ddfd7927e67157b838889a841b05ba4ebc361e322d31e052eeebd0acd1c42a8eb6856627501
|
7
|
+
data.tar.gz: 503482b12e703056b630a26b194de0344882aa4562d17283ab777b62b0fd19e4701e93ea8c3a88dc80d1228afbefea6490c72d3935a9b1ffb0bc5434d36b66b1
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -1,16 +1,10 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
gemspec
|
3
3
|
|
4
|
-
|
5
|
-
gem 'redis-
|
6
|
-
|
7
|
-
version = ENV["RAILS_VERSION"] || "4"
|
8
|
-
|
9
|
-
rails = case version
|
10
|
-
when "master"
|
11
|
-
{:github => "rails/rails"}
|
12
|
-
else
|
13
|
-
"~> #{version}.0"
|
4
|
+
if ::File.directory?(gem_path = '../redis-store')
|
5
|
+
gem 'redis-store', '~> 1.1.0', path: gem_path
|
14
6
|
end
|
15
7
|
|
16
|
-
|
8
|
+
if ::File.directory?(gem_path = '../redis-rack')
|
9
|
+
gem 'redis-rack', '~> 1.5.0', path: gem_path
|
10
|
+
end
|
data/README.md
CHANGED
@@ -1,28 +1,38 @@
|
|
1
1
|
# Redis stores for ActionPack
|
2
2
|
|
3
|
-
__`redis-actionpack`__ provides a session store for __ActionPack__, specifically for __ActionDispatch__. See the main [redis-store readme](https://github.com/
|
3
|
+
__`redis-actionpack`__ provides a session store for __ActionPack__, specifically for __ActionDispatch__. See the main [redis-store readme](https://github.com/redis-store/redis-store) for general guidelines.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
```ruby
|
8
|
+
# Gemfile
|
9
|
+
gem 'redis-actionpack'
|
10
|
+
```
|
9
11
|
|
10
|
-
|
12
|
+
## Usage
|
11
13
|
|
12
|
-
If you are using redis-store with Rails, consider using the [redis-rails gem](https://github.com/
|
14
|
+
If you are using redis-store with Rails, consider using the [redis-rails gem](https://github.com/redis-store/redis-rails) instead. For standalone usage:
|
13
15
|
|
14
|
-
|
16
|
+
```ruby
|
17
|
+
ActionController::Base.cache_store = ActionDispatch::Session::RedisSessionStore.new
|
18
|
+
```
|
15
19
|
|
16
20
|
## Running tests
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
```shell
|
23
|
+
gem install bundler
|
24
|
+
git clone git://github.com/redis-store/redis-actionpack.git
|
25
|
+
cd redis-actionpack
|
26
|
+
bundle install
|
27
|
+
bundle exec rake
|
28
|
+
```
|
23
29
|
|
24
30
|
If you are on **Snow Leopard** you have to run `env ARCHFLAGS="-arch x86_64" bundle exec rake`
|
25
31
|
|
32
|
+
## Status
|
33
|
+
|
34
|
+
[](http://badge.fury.io/rb/redis-actionpack) [](http://travis-ci.org/jodosha/redis-actionpack?branch=master) [](https://codeclimate.com/github/redis-store/redis-actionpack)
|
35
|
+
|
26
36
|
## Copyright
|
27
37
|
|
28
|
-
|
38
|
+
2009 - 2013 Luca Guidi - [http://lucaguidi.com](http://lucaguidi.com), released under the MIT license
|
data/Rakefile
CHANGED
@@ -7,11 +7,20 @@ module ActionDispatch
|
|
7
7
|
class RedisStore < Rack::Session::Redis
|
8
8
|
include Compatibility
|
9
9
|
include StaleSessionCheck
|
10
|
+
include SessionObject
|
11
|
+
|
10
12
|
def initialize(app, options = {})
|
11
13
|
options = options.dup
|
12
14
|
options[:redis_server] ||= options[:servers]
|
13
15
|
super
|
14
16
|
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def set_cookie(env, session_id, cookie)
|
21
|
+
request = ActionDispatch::Request.new(env)
|
22
|
+
request.cookie_jar[key] = cookie
|
23
|
+
end
|
15
24
|
end
|
16
25
|
end
|
17
26
|
end
|
data/redis-actionpack.gemspec
CHANGED
@@ -1,22 +1,23 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path(
|
3
|
-
require
|
2
|
+
$:.push File.expand_path('../lib', __FILE__)
|
3
|
+
require 'redis/actionpack/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'redis-actionpack'
|
7
7
|
s.version = Redis::ActionPack::VERSION
|
8
|
-
s.authors = [
|
9
|
-
s.email = [
|
10
|
-
s.homepage =
|
8
|
+
s.authors = ['Luca Guidi']
|
9
|
+
s.email = ['me@lucaguidi.com']
|
10
|
+
s.homepage = 'http://redis-store.org/redis-actionpack'
|
11
11
|
s.summary = %q{Redis session store for ActionPack}
|
12
12
|
s.description = %q{Redis session store for ActionPack}
|
13
|
+
s.license = 'MIT'
|
13
14
|
|
14
|
-
s.rubyforge_project =
|
15
|
+
s.rubyforge_project = 'redis-actionpack'
|
15
16
|
|
16
17
|
s.files = `git ls-files`.split("\n")
|
17
18
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
-
s.require_paths = [
|
20
|
+
s.require_paths = ['lib']
|
20
21
|
|
21
22
|
s.add_runtime_dependency 'redis-store', '~> 1.1.0'
|
22
23
|
s.add_runtime_dependency 'redis-rack', '~> 1.5.0'
|
@@ -29,4 +30,5 @@ Gem::Specification.new do |s|
|
|
29
30
|
s.add_development_dependency 'tzinfo'
|
30
31
|
s.add_development_dependency 'mini_specunit'
|
31
32
|
s.add_development_dependency 'mini_backtrace'
|
33
|
+
s.add_development_dependency 'redis-store-testing'
|
32
34
|
end
|
@@ -1,130 +1,223 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class RedisStoreIntegrationTest < ActionDispatch::IntegrationTest
|
3
|
+
class RedisStoreIntegrationTest < ::ActionDispatch::IntegrationTest
|
4
|
+
SessionKey = '_session_id'
|
5
|
+
SessionSecret = 'b3c631c314c0bbca50c1b2843150fe33'
|
6
|
+
|
4
7
|
test "reads the data" do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
+
with_test_route_set do
|
9
|
+
get '/set_session_value'
|
10
|
+
response.must_be :success?
|
11
|
+
cookies['_session_id'].wont_be_nil
|
8
12
|
|
9
|
-
|
10
|
-
|
11
|
-
|
13
|
+
get '/get_session_value'
|
14
|
+
response.must_be :success?
|
15
|
+
response.body.must_equal 'foo: "bar"'
|
16
|
+
end
|
12
17
|
end
|
13
18
|
|
14
19
|
test "should get nil session value" do
|
15
|
-
|
16
|
-
|
17
|
-
|
20
|
+
with_test_route_set do
|
21
|
+
get '/get_session_value'
|
22
|
+
response.must_be :success?
|
23
|
+
response.body.must_equal 'foo: nil'
|
24
|
+
end
|
18
25
|
end
|
19
26
|
|
20
27
|
test "should delete the data after session reset" do
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
28
|
+
with_test_route_set do
|
29
|
+
get '/set_session_value'
|
30
|
+
response.must_be :success?
|
31
|
+
cookies['_session_id'].wont_be_nil
|
32
|
+
session_cookie = cookies.send(:hash_for)['_session_id']
|
25
33
|
|
26
|
-
|
27
|
-
|
28
|
-
|
34
|
+
get '/call_reset_session'
|
35
|
+
response.must_be :success?
|
36
|
+
headers['Set-Cookie'].wont_equal []
|
29
37
|
|
30
|
-
|
38
|
+
cookies << session_cookie
|
31
39
|
|
32
|
-
|
33
|
-
|
34
|
-
|
40
|
+
get '/get_session_value'
|
41
|
+
response.must_be :success?
|
42
|
+
response.body.must_equal 'foo: nil'
|
43
|
+
end
|
35
44
|
end
|
36
45
|
|
37
46
|
test "should not send cookies on write, not read" do
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
47
|
+
with_test_route_set do
|
48
|
+
get '/get_session_value'
|
49
|
+
response.must_be :success?
|
50
|
+
response.body.must_equal 'foo: nil'
|
51
|
+
cookies['_session_id'].must_be_nil
|
52
|
+
end
|
42
53
|
end
|
43
54
|
|
44
55
|
test "should set session value after session reset" do
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
get '/call_reset_session'
|
51
|
-
response.must_be :success?
|
52
|
-
headers['Set-Cookie'].wont_equal []
|
53
|
-
|
54
|
-
get '/get_session_value'
|
55
|
-
response.must_be :success?
|
56
|
-
response.body.must_equal 'foo: nil'
|
57
|
-
|
58
|
-
get '/get_session_id'
|
59
|
-
response.must_be :success?
|
60
|
-
response.body.wont_equal session_id
|
61
|
-
end
|
56
|
+
with_test_route_set do
|
57
|
+
get '/set_session_value'
|
58
|
+
response.must_be :success?
|
59
|
+
cookies['_session_id'].wont_be_nil
|
60
|
+
session_id = cookies['_session_id']
|
62
61
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
62
|
+
get '/call_reset_session'
|
63
|
+
response.must_be :success?
|
64
|
+
headers['Set-Cookie'].wont_equal []
|
65
|
+
|
66
|
+
get '/get_session_value'
|
67
|
+
response.must_be :success?
|
68
|
+
response.body.must_equal 'foo: nil'
|
69
|
+
|
70
|
+
get '/get_session_id'
|
71
|
+
response.must_be :success?
|
72
|
+
response.body.wont_equal session_id
|
73
|
+
end
|
72
74
|
end
|
73
75
|
|
74
|
-
test "should
|
75
|
-
|
76
|
-
get '/
|
76
|
+
test "should be able to read session id without accessing the session hash" do
|
77
|
+
with_test_route_set do
|
78
|
+
get '/set_session_value'
|
77
79
|
response.must_be :success?
|
78
80
|
cookies['_session_id'].wont_be_nil
|
79
|
-
|
81
|
+
session_id = cookies['_session_id']
|
80
82
|
|
81
|
-
with_autoload_path "session_autoload_test" do
|
82
83
|
get '/get_session_id'
|
83
|
-
|
84
|
+
response.must_be :success?
|
85
|
+
response.body.must_equal session_id
|
84
86
|
end
|
87
|
+
end
|
85
88
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
89
|
+
test "should auto-load unloaded class" do
|
90
|
+
with_test_route_set do
|
91
|
+
with_autoload_path "session_autoload_test" do
|
92
|
+
get '/set_serialized_session_value'
|
93
|
+
response.must_be :success?
|
94
|
+
cookies['_session_id'].wont_be_nil
|
95
|
+
end
|
96
|
+
|
97
|
+
with_autoload_path "session_autoload_test" do
|
98
|
+
get '/get_session_id'
|
99
|
+
assert_response :success
|
100
|
+
end
|
101
|
+
|
102
|
+
with_autoload_path "session_autoload_test" do
|
103
|
+
get '/get_session_value'
|
104
|
+
response.must_be :success?
|
105
|
+
response.body.must_equal 'foo: #<SessionAutoloadTest::Foo bar:"baz">'
|
106
|
+
end
|
90
107
|
end
|
91
108
|
end
|
92
109
|
|
93
110
|
test "should not resend the cookie again if session_id cookie is already exists" do
|
94
|
-
|
95
|
-
|
96
|
-
|
111
|
+
with_test_route_set do
|
112
|
+
get '/set_session_value'
|
113
|
+
response.must_be :success?
|
114
|
+
cookies['_session_id'].wont_be_nil
|
97
115
|
|
98
|
-
|
99
|
-
|
100
|
-
|
116
|
+
get '/get_session_value'
|
117
|
+
response.must_be :success?
|
118
|
+
headers['Set-Cookie'].must_be_nil
|
119
|
+
end
|
101
120
|
end
|
102
121
|
|
103
122
|
test "should prevent session fixation" do
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
123
|
+
with_test_route_set do
|
124
|
+
get '/get_session_value'
|
125
|
+
response.must_be :success?
|
126
|
+
response.body.must_equal 'foo: nil'
|
127
|
+
session_id = cookies['_session_id']
|
108
128
|
|
109
|
-
|
129
|
+
reset!
|
110
130
|
|
111
|
-
|
112
|
-
|
113
|
-
|
131
|
+
get '/set_session_value', :_session_id => session_id
|
132
|
+
response.must_be :success?
|
133
|
+
cookies['_session_id'].wont_equal session_id
|
134
|
+
end
|
114
135
|
end
|
115
136
|
|
116
137
|
test "should write the data with expiration time" do
|
117
|
-
|
118
|
-
|
138
|
+
with_test_route_set do
|
139
|
+
get '/set_session_value_with_expiry'
|
140
|
+
response.must_be :success?
|
119
141
|
|
120
|
-
|
121
|
-
|
122
|
-
|
142
|
+
get '/get_session_value'
|
143
|
+
response.must_be :success?
|
144
|
+
response.body.must_equal 'foo: "bar"'
|
123
145
|
|
124
|
-
|
146
|
+
sleep 1
|
125
147
|
|
126
|
-
|
127
|
-
|
128
|
-
|
148
|
+
get '/get_session_value'
|
149
|
+
response.must_be :success?
|
150
|
+
response.body.must_equal 'foo: nil'
|
151
|
+
end
|
129
152
|
end
|
153
|
+
|
154
|
+
test "session store with explicit domain" do
|
155
|
+
with_test_route_set(:domain => "example.es") do
|
156
|
+
get '/set_session_value'
|
157
|
+
assert_match(/domain=example\.es/, headers['Set-Cookie'])
|
158
|
+
headers['Set-Cookie']
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
test "session store without domain" do
|
163
|
+
with_test_route_set do
|
164
|
+
get '/set_session_value'
|
165
|
+
assert_no_match(/domain\=/, headers['Set-Cookie'])
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
test "session store with nil domain" do
|
170
|
+
with_test_route_set(:domain => nil) do
|
171
|
+
get '/set_session_value'
|
172
|
+
assert_no_match(/domain\=/, headers['Set-Cookie'])
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
test "session store with all domains" do
|
177
|
+
with_test_route_set(:domain => :all) do
|
178
|
+
get '/set_session_value'
|
179
|
+
assert_match(/domain=\.example\.com/, headers['Set-Cookie'])
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
private
|
184
|
+
|
185
|
+
# from actionpack/test/abstract_unit.rb
|
186
|
+
class RoutedRackApp
|
187
|
+
attr_reader :routes
|
188
|
+
def initialize(routes, &blk)
|
189
|
+
@routes = routes
|
190
|
+
@stack = ActionDispatch::MiddlewareStack.new(&blk).build(@routes)
|
191
|
+
end
|
192
|
+
def call(env)
|
193
|
+
@stack.call(env)
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
# from actionpack/test/abstract_unit.rb
|
198
|
+
def self.build_app(routes = nil)
|
199
|
+
RoutedRackApp.new(routes || ActionDispatch::Routing::RouteSet.new) do |middleware|
|
200
|
+
middleware.use "ActionDispatch::DebugExceptions"
|
201
|
+
middleware.use "ActionDispatch::Callbacks"
|
202
|
+
middleware.use "ActionDispatch::ParamsParser"
|
203
|
+
middleware.use "ActionDispatch::Cookies"
|
204
|
+
middleware.use "ActionDispatch::Flash"
|
205
|
+
middleware.use "Rack::Head"
|
206
|
+
yield(middleware) if block_given?
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
# from actionpack/test/dispatch/session/cookie_store_test.rb
|
211
|
+
def with_test_route_set(options = {})
|
212
|
+
with_routing do |set|
|
213
|
+
set.draw do
|
214
|
+
get ':action', :to => ::TestController
|
215
|
+
end
|
216
|
+
options = { :key => SessionKey }.merge!(options)
|
217
|
+
@app = self.class.build_app(set) do |middleware|
|
218
|
+
middleware.use ActionDispatch::Session::RedisStore, options
|
219
|
+
end
|
220
|
+
yield
|
221
|
+
end
|
222
|
+
end
|
130
223
|
end
|
metadata
CHANGED
@@ -1,153 +1,167 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis-actionpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis-store
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: redis-rack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.5.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.5.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: actionpack
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '4'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '4'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '10'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '10'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1.3'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.3'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: mocha
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 0.14.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.14.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: minitest
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '4.2'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '4.2'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: tzinfo
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: mini_specunit
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: mini_backtrace
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- -
|
143
|
+
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- -
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: redis-store-testing
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '0'
|
153
167
|
description: Redis session store for ActionPack
|
@@ -157,7 +171,8 @@ executables: []
|
|
157
171
|
extensions: []
|
158
172
|
extra_rdoc_files: []
|
159
173
|
files:
|
160
|
-
- .gitignore
|
174
|
+
- ".gitignore"
|
175
|
+
- ".travis.yml"
|
161
176
|
- Gemfile
|
162
177
|
- MIT-LICENSE
|
163
178
|
- README.md
|
@@ -173,8 +188,6 @@ files:
|
|
173
188
|
- test/dummy/config/application.rb
|
174
189
|
- test/dummy/config/boot.rb
|
175
190
|
- test/dummy/config/environment.rb
|
176
|
-
- test/dummy/config/initializers/secret_token.rb
|
177
|
-
- test/dummy/config/initializers/session_store.rb
|
178
191
|
- test/dummy/config/routes.rb
|
179
192
|
- test/dummy/script/rails
|
180
193
|
- test/fixtures/session_autoload_test/session_autoload_test/foo.rb
|
@@ -182,7 +195,8 @@ files:
|
|
182
195
|
- test/redis/actionpack/version_test.rb
|
183
196
|
- test/test_helper.rb
|
184
197
|
homepage: http://redis-store.org/redis-actionpack
|
185
|
-
licenses:
|
198
|
+
licenses:
|
199
|
+
- MIT
|
186
200
|
metadata: {}
|
187
201
|
post_install_message:
|
188
202
|
rdoc_options: []
|
@@ -190,17 +204,17 @@ require_paths:
|
|
190
204
|
- lib
|
191
205
|
required_ruby_version: !ruby/object:Gem::Requirement
|
192
206
|
requirements:
|
193
|
-
- -
|
207
|
+
- - ">="
|
194
208
|
- !ruby/object:Gem::Version
|
195
209
|
version: '0'
|
196
210
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
211
|
requirements:
|
198
|
-
- -
|
212
|
+
- - ">="
|
199
213
|
- !ruby/object:Gem::Version
|
200
214
|
version: '0'
|
201
215
|
requirements: []
|
202
216
|
rubyforge_project: redis-actionpack
|
203
|
-
rubygems_version: 2.
|
217
|
+
rubygems_version: 2.4.5.1
|
204
218
|
signing_key:
|
205
219
|
specification_version: 4
|
206
220
|
summary: Redis session store for ActionPack
|
@@ -212,8 +226,6 @@ test_files:
|
|
212
226
|
- test/dummy/config/application.rb
|
213
227
|
- test/dummy/config/boot.rb
|
214
228
|
- test/dummy/config/environment.rb
|
215
|
-
- test/dummy/config/initializers/secret_token.rb
|
216
|
-
- test/dummy/config/initializers/session_store.rb
|
217
229
|
- test/dummy/config/routes.rb
|
218
230
|
- test/dummy/script/rails
|
219
231
|
- test/fixtures/session_autoload_test/session_autoload_test/foo.rb
|
@@ -1,7 +0,0 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
|
-
# Your secret key for verifying the integrity of signed cookies.
|
4
|
-
# If you change this key, all old signed cookies will become invalid!
|
5
|
-
# Make sure the secret is at least 30 characters and all random,
|
6
|
-
# no regular words or you'll be exposed to dictionary attacks.
|
7
|
-
Dummy::Application.config.secret_token = 'a7d2ff143cdb3d1f9470a3ce2df7bb220a9c4498cb5c4a35150705de6719114b12ab7512a9618a2d3c25f8d6e62ab22c042445ed856ff674f4ee2faabd9d2041'
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
|
-
Dummy::Application.config.session_store :redis_store,
|
4
|
-
:key => '_session_id',
|
5
|
-
:servers => ["redis://127.0.0.1:6380/1/theplaylist",
|
6
|
-
"redis://127.0.0.1:6381/1/theplaylist"]
|
7
|
-
|
8
|
-
# Use the database for sessions instead of the cookie-based default,
|
9
|
-
# which shouldn't be used to store highly confidential information
|
10
|
-
# (create the session table with "rails generate session_migration")
|
11
|
-
# Dummy::Application.config.session_store :active_record_store
|