rails-session_cookie 0.2.2 → 0.3.0

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.
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'action_dispatch'
4
+ require 'active_support'
5
+
6
+ module Rails
7
+ module SessionCookie
8
+ # This merges proper key generator if SECRET_KEY_BASE is explicit
9
+ # and generates additional request env
10
+ class Env
11
+ def self.rails_key_generator(secret_key_base)
12
+ ActiveSupport::CachingKeyGenerator.new(ActiveSupport::KeyGenerator.new(secret_key_base, iterations: 1000))
13
+ end
14
+
15
+ def initialize(env = nil)
16
+ @env = env || {}
17
+ end
18
+
19
+ def env
20
+ return @env unless secret_key_base
21
+
22
+ @env.merge(
23
+ ActionDispatch::Cookies::SECRET_KEY_BASE => secret_key_base,
24
+ ActionDispatch::Cookies::GENERATOR_KEY => key_generator
25
+ )
26
+ end
27
+
28
+ private
29
+
30
+ # rails caches secret_key_base and key_generator
31
+ def key_generator
32
+ self.class.rails_key_generator(secret_key_base)
33
+ end
34
+
35
+ def secret_key_base
36
+ @secret_key_base ||= @env.fetch(:secret_key_base, nil) || @env.fetch(ActionDispatch::Cookies::SECRET_KEY_BASE, nil)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rails
2
4
  module SessionCookie
3
- VERSION = '0.2.2'.freeze
5
+ VERSION = '0.3.0'
4
6
  end
5
7
  end
@@ -1,9 +1,11 @@
1
- # rubocop:disable Lint/HandleExceptions
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Lint/SuppressedException
2
4
  begin
3
5
  require 'warden'
4
6
  rescue LoadError
5
7
  end
6
- # rubocop:enable Lint/HandleExceptions
8
+ # rubocop:enable Lint/SuppressedException
7
9
 
8
10
  require 'rails/session_cookie/app'
9
11
 
@@ -23,7 +25,7 @@ module Rails
23
25
  [200, {}, []]
24
26
  }
25
27
 
26
- @app = with_middlewares(auth_app, auth_session_options)
28
+ super(auth_app, auth_session_options)
27
29
  end
28
30
  end
29
31
  end
@@ -1,3 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails/session_cookie/env'
1
4
  require 'rails/session_cookie/app'
2
5
  require 'rails/session_cookie/warden_app'
3
6
  require 'rails/session_cookie/version'
@@ -6,6 +9,6 @@ module Rails
6
9
  # :nodoc:
7
10
  module SessionCookie
8
11
  NoRailsApplication = Class.new(StandardError)
9
- RACK_SESSION = 'rack.session'.freeze # upstream constant name is changing
12
+ RACK_SESSION = 'rack.session' # upstream constant name is changing
10
13
  end
11
14
  end
@@ -1,6 +1,6 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('../lib', __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'rails/session_cookie/version'
6
6
 
@@ -22,19 +22,4 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ['lib']
23
23
 
24
24
  spec.add_dependency 'rails', '>= 4.0'
25
-
26
- spec.add_development_dependency 'bundler', '~> 1.15'
27
- spec.add_development_dependency 'rake', '~> 10.0'
28
- spec.add_development_dependency 'rspec', '~> 3.0'
29
- spec.add_development_dependency 'appraisal', '~> 2.2'
30
- spec.add_development_dependency 'rubocop', '~> 0.49'
31
- spec.add_development_dependency 'rspec-rails', '~> 3.6.1'
32
- spec.add_development_dependency 'codeclimate-test-reporter', '= 1.0.8'
33
- spec.add_development_dependency 'simplecov', '= 0.13.0'
34
- spec.add_development_dependency 'sqlite3', '~> 1.3'
35
-
36
- # bench
37
- spec.add_development_dependency 'rspec-benchmark', '~> 0.3'
38
- spec.add_development_dependency 'capybara', '~> 2.15'
39
- spec.add_development_dependency 'benchmark-ips', '~> 2.7.2'
40
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-session_cookie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vlad Bokov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-05 00:00:00.000000000 Z
11
+ date: 2022-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,174 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.15'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.15'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '10.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '10.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '3.0'
69
- - !ruby/object:Gem::Dependency
70
- name: appraisal
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2.2'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '2.2'
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.49'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.49'
97
- - !ruby/object:Gem::Dependency
98
- name: rspec-rails
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 3.6.1
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 3.6.1
111
- - !ruby/object:Gem::Dependency
112
- name: codeclimate-test-reporter
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - '='
116
- - !ruby/object:Gem::Version
117
- version: 1.0.8
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '='
123
- - !ruby/object:Gem::Version
124
- version: 1.0.8
125
- - !ruby/object:Gem::Dependency
126
- name: simplecov
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '='
130
- - !ruby/object:Gem::Version
131
- version: 0.13.0
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - '='
137
- - !ruby/object:Gem::Version
138
- version: 0.13.0
139
- - !ruby/object:Gem::Dependency
140
- name: sqlite3
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '1.3'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '1.3'
153
- - !ruby/object:Gem::Dependency
154
- name: rspec-benchmark
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '0.3'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '0.3'
167
- - !ruby/object:Gem::Dependency
168
- name: capybara
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '2.15'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '2.15'
181
- - !ruby/object:Gem::Dependency
182
- name: benchmark-ips
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: 2.7.2
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: 2.7.2
195
27
  description: Helps to get proper integration tests run faster
196
28
  email:
197
29
  - razum2um@mail.ru
@@ -200,39 +32,38 @@ extensions: []
200
32
  extra_rdoc_files: []
201
33
  files:
202
34
  - ".codeclimate.yml"
35
+ - ".github/workflows/branch.yml"
36
+ - ".github/workflows/ci.yml"
203
37
  - ".gitignore"
204
38
  - ".rspec"
205
39
  - ".rubocop.yml"
206
- - ".travis.yml"
207
40
  - Appraisals
208
41
  - Gemfile
42
+ - LICENSE
209
43
  - README.md
210
44
  - Rakefile
211
45
  - bin/console
212
46
  - bin/setup
213
47
  - gemfiles/.bundle/config
214
- - gemfiles/rails_4.2.gemfile
215
- - gemfiles/rails_4.2.gemfile.lock
216
- - gemfiles/rails_4.2_warden.gemfile
217
- - gemfiles/rails_4.2_warden.gemfile.lock
218
- - gemfiles/rails_5.0.gemfile
219
- - gemfiles/rails_5.0.gemfile.lock
220
- - gemfiles/rails_5.0_warden.gemfile
221
- - gemfiles/rails_5.0_warden.gemfile.lock
222
- - gemfiles/rails_5.1.gemfile
223
- - gemfiles/rails_5.1.gemfile.lock
224
- - gemfiles/rails_5.1_warden.gemfile
225
- - gemfiles/rails_5.1_warden.gemfile.lock
48
+ - gemfiles/rails_5.2.gemfile
49
+ - gemfiles/rails_5.2_warden.gemfile
50
+ - gemfiles/rails_6.0.gemfile
51
+ - gemfiles/rails_6.0_warden.gemfile
52
+ - gemfiles/rails_6.1.gemfile
53
+ - gemfiles/rails_6.1_warden.gemfile
54
+ - gemfiles/rails_7.0.gemfile
55
+ - gemfiles/rails_7.0_warden.gemfile
226
56
  - lib/rails-session_cookie.rb
227
57
  - lib/rails/session_cookie.rb
228
58
  - lib/rails/session_cookie/app.rb
59
+ - lib/rails/session_cookie/env.rb
229
60
  - lib/rails/session_cookie/version.rb
230
61
  - lib/rails/session_cookie/warden_app.rb
231
62
  - rails-session_cookie.gemspec
232
63
  homepage: https://github.com/razum2um/rails/session_cookie
233
64
  licenses: []
234
65
  metadata: {}
235
- post_install_message:
66
+ post_install_message:
236
67
  rdoc_options: []
237
68
  require_paths:
238
69
  - lib
@@ -247,9 +78,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
78
  - !ruby/object:Gem::Version
248
79
  version: '0'
249
80
  requirements: []
250
- rubyforge_project:
251
- rubygems_version: 2.6.11
252
- signing_key:
81
+ rubygems_version: 3.3.7
82
+ signing_key:
253
83
  specification_version: 4
254
84
  summary: Mini rack-app to get raw rails session cookie
255
85
  test_files: []
data/.travis.yml DELETED
@@ -1,15 +0,0 @@
1
- sudo: false
2
- cache: bundler
3
- language: ruby
4
- rvm:
5
- - 2.4.1
6
- - 2.3.4
7
- - 2.2.7
8
- gemfile:
9
- - gemfiles/rails_4.2.gemfile
10
- - gemfiles/rails_4.2_warden.gemfile
11
- - gemfiles/rails_5.0.gemfile
12
- - gemfiles/rails_5.0_warden.gemfile
13
- - gemfiles/rails_5.1.gemfile
14
- - gemfiles/rails_5.1_warden.gemfile
15
- before_install: gem install bundler -v 1.15.4
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "pry-byebug"
6
- gem "rails", "~> 4.2.9"
7
-
8
- gemspec path: "../"
@@ -1,204 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- rails-session_cookie (0.2.2)
5
- rails (>= 4.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- actionmailer (4.2.9)
11
- actionpack (= 4.2.9)
12
- actionview (= 4.2.9)
13
- activejob (= 4.2.9)
14
- mail (~> 2.5, >= 2.5.4)
15
- rails-dom-testing (~> 1.0, >= 1.0.5)
16
- actionpack (4.2.9)
17
- actionview (= 4.2.9)
18
- activesupport (= 4.2.9)
19
- rack (~> 1.6)
20
- rack-test (~> 0.6.2)
21
- rails-dom-testing (~> 1.0, >= 1.0.5)
22
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
23
- actionview (4.2.9)
24
- activesupport (= 4.2.9)
25
- builder (~> 3.1)
26
- erubis (~> 2.7.0)
27
- rails-dom-testing (~> 1.0, >= 1.0.5)
28
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
29
- activejob (4.2.9)
30
- activesupport (= 4.2.9)
31
- globalid (>= 0.3.0)
32
- activemodel (4.2.9)
33
- activesupport (= 4.2.9)
34
- builder (~> 3.1)
35
- activerecord (4.2.9)
36
- activemodel (= 4.2.9)
37
- activesupport (= 4.2.9)
38
- arel (~> 6.0)
39
- activesupport (4.2.9)
40
- i18n (~> 0.7)
41
- minitest (~> 5.1)
42
- thread_safe (~> 0.3, >= 0.3.4)
43
- tzinfo (~> 1.1)
44
- addressable (2.5.2)
45
- public_suffix (>= 2.0.2, < 4.0)
46
- appraisal (2.2.0)
47
- bundler
48
- rake
49
- thor (>= 0.14.0)
50
- arel (6.0.4)
51
- ast (2.3.0)
52
- benchmark-ips (2.7.2)
53
- benchmark-perf (0.2.1)
54
- builder (3.2.3)
55
- byebug (9.0.6)
56
- capybara (2.15.1)
57
- addressable
58
- mini_mime (>= 0.1.3)
59
- nokogiri (>= 1.3.3)
60
- rack (>= 1.0.0)
61
- rack-test (>= 0.5.4)
62
- xpath (~> 2.0)
63
- codeclimate-test-reporter (1.0.8)
64
- simplecov (<= 0.13)
65
- coderay (1.1.1)
66
- concurrent-ruby (1.0.5)
67
- diff-lcs (1.3)
68
- docile (1.1.5)
69
- erubis (2.7.0)
70
- globalid (0.4.0)
71
- activesupport (>= 4.2.0)
72
- i18n (0.8.6)
73
- json (2.1.0)
74
- loofah (2.0.3)
75
- nokogiri (>= 1.5.9)
76
- mail (2.6.6)
77
- mime-types (>= 1.16, < 4)
78
- method_source (0.8.2)
79
- mime-types (3.1)
80
- mime-types-data (~> 3.2015)
81
- mime-types-data (3.2016.0521)
82
- mini_mime (0.1.4)
83
- mini_portile2 (2.2.0)
84
- minitest (5.10.3)
85
- nokogiri (1.8.0)
86
- mini_portile2 (~> 2.2.0)
87
- parallel (1.12.0)
88
- parser (2.4.0.0)
89
- ast (~> 2.2)
90
- powerpack (0.1.1)
91
- pry (0.10.4)
92
- coderay (~> 1.1.0)
93
- method_source (~> 0.8.1)
94
- slop (~> 3.4)
95
- pry-byebug (3.4.2)
96
- byebug (~> 9.0)
97
- pry (~> 0.10)
98
- public_suffix (3.0.0)
99
- rack (1.6.8)
100
- rack-test (0.6.3)
101
- rack (>= 1.0)
102
- rails (4.2.9)
103
- actionmailer (= 4.2.9)
104
- actionpack (= 4.2.9)
105
- actionview (= 4.2.9)
106
- activejob (= 4.2.9)
107
- activemodel (= 4.2.9)
108
- activerecord (= 4.2.9)
109
- activesupport (= 4.2.9)
110
- bundler (>= 1.3.0, < 2.0)
111
- railties (= 4.2.9)
112
- sprockets-rails
113
- rails-deprecated_sanitizer (1.0.3)
114
- activesupport (>= 4.2.0.alpha)
115
- rails-dom-testing (1.0.8)
116
- activesupport (>= 4.2.0.beta, < 5.0)
117
- nokogiri (~> 1.6)
118
- rails-deprecated_sanitizer (>= 1.0.1)
119
- rails-html-sanitizer (1.0.3)
120
- loofah (~> 2.0)
121
- railties (4.2.9)
122
- actionpack (= 4.2.9)
123
- activesupport (= 4.2.9)
124
- rake (>= 0.8.7)
125
- thor (>= 0.18.1, < 2.0)
126
- rainbow (2.2.2)
127
- rake
128
- rake (10.5.0)
129
- rspec (3.6.0)
130
- rspec-core (~> 3.6.0)
131
- rspec-expectations (~> 3.6.0)
132
- rspec-mocks (~> 3.6.0)
133
- rspec-benchmark (0.3.0)
134
- benchmark-perf (~> 0.2.0)
135
- rspec (>= 3.0.0, < 4.0.0)
136
- rspec-core (3.6.0)
137
- rspec-support (~> 3.6.0)
138
- rspec-expectations (3.6.0)
139
- diff-lcs (>= 1.2.0, < 2.0)
140
- rspec-support (~> 3.6.0)
141
- rspec-mocks (3.6.0)
142
- diff-lcs (>= 1.2.0, < 2.0)
143
- rspec-support (~> 3.6.0)
144
- rspec-rails (3.6.1)
145
- actionpack (>= 3.0)
146
- activesupport (>= 3.0)
147
- railties (>= 3.0)
148
- rspec-core (~> 3.6.0)
149
- rspec-expectations (~> 3.6.0)
150
- rspec-mocks (~> 3.6.0)
151
- rspec-support (~> 3.6.0)
152
- rspec-support (3.6.0)
153
- rubocop (0.49.1)
154
- parallel (~> 1.10)
155
- parser (>= 2.3.3.1, < 3.0)
156
- powerpack (~> 0.1)
157
- rainbow (>= 1.99.1, < 3.0)
158
- ruby-progressbar (~> 1.7)
159
- unicode-display_width (~> 1.0, >= 1.0.1)
160
- ruby-progressbar (1.8.1)
161
- simplecov (0.13.0)
162
- docile (~> 1.1.0)
163
- json (>= 1.8, < 3)
164
- simplecov-html (~> 0.10.0)
165
- simplecov-html (0.10.2)
166
- slop (3.6.0)
167
- sprockets (3.7.1)
168
- concurrent-ruby (~> 1.0)
169
- rack (> 1, < 3)
170
- sprockets-rails (3.2.1)
171
- actionpack (>= 4.0)
172
- activesupport (>= 4.0)
173
- sprockets (>= 3.0.0)
174
- sqlite3 (1.3.13)
175
- thor (0.20.0)
176
- thread_safe (0.3.6)
177
- tzinfo (1.2.3)
178
- thread_safe (~> 0.1)
179
- unicode-display_width (1.3.0)
180
- xpath (2.1.0)
181
- nokogiri (~> 1.3)
182
-
183
- PLATFORMS
184
- ruby
185
-
186
- DEPENDENCIES
187
- appraisal (~> 2.2)
188
- benchmark-ips (~> 2.7.2)
189
- bundler (~> 1.15)
190
- capybara (~> 2.15)
191
- codeclimate-test-reporter (= 1.0.8)
192
- pry-byebug
193
- rails (~> 4.2.9)
194
- rails-session_cookie!
195
- rake (~> 10.0)
196
- rspec (~> 3.0)
197
- rspec-benchmark (~> 0.3)
198
- rspec-rails (~> 3.6.1)
199
- rubocop (~> 0.49)
200
- simplecov (= 0.13.0)
201
- sqlite3 (~> 1.3)
202
-
203
- BUNDLED WITH
204
- 1.15.4
@@ -1,10 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "pry-byebug"
6
- gem "rails", "~> 4.2.9"
7
- gem "warden", ">= 1.2"
8
- gem "devise", "~> 4.3"
9
-
10
- gemspec path: "../"