rails-session_cookie 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: "../"