clearance 2.7.2 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +15 -0
  3. data/.github/workflows/dynamic-security.yml +19 -0
  4. data/.github/workflows/tests.yml +7 -7
  5. data/.gitignore +4 -1
  6. data/Appraisals +9 -5
  7. data/CHANGELOG.md +16 -1
  8. data/Gemfile +0 -1
  9. data/Gemfile.lock +130 -97
  10. data/README.md +2 -1
  11. data/Rakefile +4 -7
  12. data/SECURITY.md +12 -8
  13. data/app/views/sessions/_form.html.erb +3 -1
  14. data/bin/setup +2 -2
  15. data/clearance.gemspec +9 -9
  16. data/config/routes.rb +5 -3
  17. data/gemfiles/rails_7.0.gemfile +4 -1
  18. data/gemfiles/rails_7.1.gemfile +0 -1
  19. data/gemfiles/{rails_6.1.gemfile → rails_7.2.gemfile} +1 -3
  20. data/lib/clearance/back_door.rb +4 -2
  21. data/lib/clearance/configuration.rb +14 -0
  22. data/lib/clearance/version.rb +1 -1
  23. data/spec/clearance/session_spec.rb +2 -2
  24. data/spec/configuration_spec.rb +15 -0
  25. data/spec/dummy/Rakefile +6 -0
  26. data/spec/dummy/app/assets/config/manifest.js +0 -0
  27. data/spec/dummy/config/application.rb +13 -0
  28. data/spec/dummy/config/boot.rb +5 -0
  29. data/spec/dummy/config/environment.rb +5 -0
  30. data/spec/dummy/config/environments/test.rb +31 -0
  31. data/spec/dummy/config.ru +6 -0
  32. data/{db → spec/dummy/db}/migrate/20110111224543_create_clearance_users.rb +3 -2
  33. data/spec/dummy/db/schema.rb +25 -0
  34. data/spec/requests/backdoor_spec.rb +11 -0
  35. data/spec/requests/csrf_rotation_spec.rb +1 -5
  36. data/spec/requests/token_expiration_spec.rb +3 -3
  37. data/spec/routing/clearance_routes_spec.rb +32 -0
  38. data/spec/spec_helper.rb +4 -11
  39. data/spec/support/generator_spec_helpers.rb +11 -0
  40. data/spec/support/html_escape_helper.rb +1 -1
  41. metadata +33 -18
  42. data/db/schema.rb +0 -28
  43. data/spec/dummy/application.rb +0 -30
  44. data/spec/support/cookies.rb +0 -74
  45. /data/spec/{factories.rb → factories/users.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e9ebc10e226aa134b16da93b71b4c3a711c3f83f151446fea8efddcaa6bd732f
4
- data.tar.gz: '09513f61deaff3967af0226d46e1ab26239919ed6d6ce4dcfa9883e7d2cc68f2'
3
+ metadata.gz: ea787197f1c05708009b5318ed67814d74c11de000e314d87d0d2f9278722ea7
4
+ data.tar.gz: 9def5796663a629edecd2a9ad34aadb3b3430d4f00b4ba1017259bc929321911
5
5
  SHA512:
6
- metadata.gz: 27db1cc19f4846fd087600086ea7d00fb99e2730ae63a09047400e1a9239b5cbc31461c48a49a053a06ec88c89e571694d96d377bf7afea05e1bb0910a69b51c
7
- data.tar.gz: 5dded1584c8fa0485d60e3eeb7175f45d93b03a1c5afb9644fe3064d09af1c9e5da70eabe11e35e6bd8d31bb8ea9c997ab35537b4b72d3320da4e994250b0119
6
+ metadata.gz: 374df1a9550bb8379625497e010c79d264e328d9763341e6c5a1e1e01a42d3085650b5872d92df32a14d06c1d88f82ae9bcb4912ab717790800bce9237847c4a
7
+ data.tar.gz: 370f291a30b646bb3afcf9bc27fdccf13facec4c9663e44d4efbab0006430066891849c77fe788225a8145636507a8a03ac6360d3e195d7f7f304d8270a28054
@@ -0,0 +1,15 @@
1
+ version: 2
2
+
3
+ updates:
4
+ - package-ecosystem: bundler
5
+ directory: "/"
6
+ schedule:
7
+ interval: daily
8
+ open-pull-requests-limit: 5
9
+
10
+ - package-ecosystem: github-actions
11
+ directory: "/"
12
+ schedule:
13
+ interval: weekly
14
+ time: "02:00"
15
+ timezone: "Etc/UTC"
@@ -0,0 +1,19 @@
1
+ name: update-security
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - SECURITY.md
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ update-security:
13
+ permissions:
14
+ contents: write
15
+ pull-requests: write
16
+ pages: write
17
+ uses: thoughtbot/templates/.github/workflows/dynamic-security.yaml@main
18
+ secrets:
19
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -16,20 +16,20 @@ jobs:
16
16
  fail-fast: false
17
17
  matrix:
18
18
  gemfile:
19
- - "6.1"
20
19
  - "7.0"
21
20
  - "7.1"
21
+ - "7.2"
22
22
  ruby:
23
- - "3.0.4"
24
- - "3.1.2"
25
- - "3.2.2"
23
+ - "3.1.6"
24
+ - "3.2.5"
25
+ - "3.3.5"
26
26
 
27
27
  env:
28
28
  BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.gemfile }}.gemfile
29
29
  RAILS_ENV: test
30
30
 
31
31
  steps:
32
- - uses: actions/checkout@v2
32
+ - uses: actions/checkout@v4
33
33
 
34
34
  - name: "Install Ruby ${{ matrix.ruby }}"
35
35
  uses: ruby/setup-ruby@v1
@@ -39,8 +39,8 @@ jobs:
39
39
 
40
40
  - name: "Reset app database"
41
41
  run: |
42
- bundle exec rake dummy:db:drop
43
- bundle exec rake dummy:db:setup
42
+ bundle exec rake db:drop
43
+ bundle exec rake db:setup
44
44
 
45
45
  - name: "Run tests"
46
46
  run: bundle exec rake
data/.gitignore CHANGED
@@ -4,7 +4,10 @@
4
4
  *.swp
5
5
  *~
6
6
  .bundle
7
- db/*.sqlite3
7
+ .idea
8
+ .tool-versions
9
+ spec/dummy/db/*.sqlite3*
10
+ spec/dummy/log
8
11
  gemfiles/*.lock
9
12
  gemfiles/vendor/
10
13
  log/*.log
data/Appraisals CHANGED
@@ -1,12 +1,16 @@
1
- appraise "rails_6.1" do
2
- gem "railties", "~> 6.1.0"
3
- gem "net-smtp", require: false # not bundled in ruby 3.1
4
- end
5
-
6
1
  appraise "rails_7.0" do
7
2
  gem "railties", "~> 7.0.0"
3
+ # The following gems will not be bundled with Ruby 3.4
4
+ gem "base64", require: false
5
+ gem "bigdecimal", require: false
6
+ gem "drb", require: false
7
+ gem "mutex_m", require: false
8
8
  end
9
9
 
10
10
  appraise "rails_7.1" do
11
11
  gem "railties", "~> 7.1.0"
12
12
  end
13
+
14
+ appraise "rails_7.2" do
15
+ gem "railties", "~> 7.2.0"
16
+ end
data/CHANGELOG.md CHANGED
@@ -5,7 +5,22 @@ complete changelog, see the git history for each version via the version links.
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
- [Unreleased]: https://github.com/thoughtbot/clearance/compare/v2.7.2...main
8
+ [Unreleased]: https://github.com/thoughtbot/clearance/compare/v2.9.0...main
9
+
10
+ ## [2.9.0] - October 29, 2024
11
+ - Added Rails 7.2 and Ruby 3.3 to testing matrix
12
+ and overhauled dummy app (#1032) Hamed Asghari
13
+ - Droped support for Ruby 3.0 and Rails 6.1 (#1036)
14
+
15
+ [2.9.0]: https://github.com/thoughtbot/clearance/compare/v2.8.0...v2.9.0
16
+
17
+ ## [2.8.0] - August 9, 2024
18
+ - Feature: Added allow_password_resets config option (#1019) Jos O'shea
19
+ - Added dependabot (#1028) Karine Vieira
20
+ - Fixed some deprecation warnings (#1018)
21
+ - Added a dynamic workflow to update SECURITY.md
22
+
23
+ [2.8.0]: https://github.com/thoughtbot/clearance/compare/v2.7.2...v2.8.0
9
24
 
10
25
  ## [2.7.2] - June 28, 2024
11
26
  - Fix method redefinition and circular require issues (#1027)
data/Gemfile CHANGED
@@ -15,4 +15,3 @@ gem 'rails-controller-testing'
15
15
  gem 'rspec-rails'
16
16
  gem 'shoulda-matchers'
17
17
  gem 'sqlite3', '~> 1.7'
18
- gem 'timecop'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clearance (2.7.2)
4
+ clearance (2.8.0)
5
5
  actionmailer (>= 5.0)
6
6
  activemodel (>= 5.0)
7
7
  activerecord (>= 5.0)
@@ -13,49 +13,57 @@ PATH
13
13
  GEM
14
14
  remote: https://rubygems.org/
15
15
  specs:
16
- actionmailer (7.0.3)
17
- actionpack (= 7.0.3)
18
- actionview (= 7.0.3)
19
- activejob (= 7.0.3)
20
- activesupport (= 7.0.3)
21
- mail (~> 2.5, >= 2.5.4)
22
- net-imap
23
- net-pop
24
- net-smtp
25
- rails-dom-testing (~> 2.0)
26
- actionpack (7.0.3)
27
- actionview (= 7.0.3)
28
- activesupport (= 7.0.3)
29
- rack (~> 2.0, >= 2.2.0)
16
+ actionmailer (7.2.0)
17
+ actionpack (= 7.2.0)
18
+ actionview (= 7.2.0)
19
+ activejob (= 7.2.0)
20
+ activesupport (= 7.2.0)
21
+ mail (>= 2.8.0)
22
+ rails-dom-testing (~> 2.2)
23
+ actionpack (7.2.0)
24
+ actionview (= 7.2.0)
25
+ activesupport (= 7.2.0)
26
+ nokogiri (>= 1.8.5)
27
+ racc
28
+ rack (>= 2.2.4, < 3.2)
29
+ rack-session (>= 1.0.1)
30
30
  rack-test (>= 0.6.3)
31
- rails-dom-testing (~> 2.0)
32
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
33
- actionview (7.0.3)
34
- activesupport (= 7.0.3)
31
+ rails-dom-testing (~> 2.2)
32
+ rails-html-sanitizer (~> 1.6)
33
+ useragent (~> 0.16)
34
+ actionview (7.2.0)
35
+ activesupport (= 7.2.0)
35
36
  builder (~> 3.1)
36
- erubi (~> 1.4)
37
- rails-dom-testing (~> 2.0)
38
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
39
- activejob (7.0.3)
40
- activesupport (= 7.0.3)
37
+ erubi (~> 1.11)
38
+ rails-dom-testing (~> 2.2)
39
+ rails-html-sanitizer (~> 1.6)
40
+ activejob (7.2.0)
41
+ activesupport (= 7.2.0)
41
42
  globalid (>= 0.3.6)
42
- activemodel (7.0.3)
43
- activesupport (= 7.0.3)
44
- activerecord (7.0.3)
45
- activemodel (= 7.0.3)
46
- activesupport (= 7.0.3)
47
- activesupport (7.0.3)
48
- concurrent-ruby (~> 1.0, >= 1.0.2)
43
+ activemodel (7.2.0)
44
+ activesupport (= 7.2.0)
45
+ activerecord (7.2.0)
46
+ activemodel (= 7.2.0)
47
+ activesupport (= 7.2.0)
48
+ timeout (>= 0.4.0)
49
+ activesupport (7.2.0)
50
+ base64
51
+ bigdecimal
52
+ concurrent-ruby (~> 1.0, >= 1.3.1)
53
+ connection_pool (>= 2.2.5)
54
+ drb
49
55
  i18n (>= 1.6, < 2)
56
+ logger (>= 1.4.2)
50
57
  minitest (>= 5.1)
51
- tzinfo (~> 2.0)
52
- addressable (2.8.0)
53
- public_suffix (>= 2.0.2, < 5.0)
54
- ammeter (1.1.5)
58
+ securerandom (>= 0.3)
59
+ tzinfo (~> 2.0, >= 2.0.5)
60
+ addressable (2.8.7)
61
+ public_suffix (>= 2.0.2, < 7.0)
62
+ ammeter (1.1.7)
55
63
  activesupport (>= 3.0)
56
64
  railties (>= 3.0)
57
65
  rspec-rails (>= 2.2)
58
- appraisal (2.4.1)
66
+ appraisal (2.5.0)
59
67
  bundler
60
68
  rake
61
69
  thor (>= 0.14.0)
@@ -63,6 +71,7 @@ GEM
63
71
  ffi (~> 1.15)
64
72
  ffi-compiler (~> 1.0)
65
73
  ast (2.4.2)
74
+ base64 (0.2.0)
66
75
  bcrypt (3.1.20)
67
76
  better_html (2.1.1)
68
77
  actionview (>= 6.0)
@@ -71,43 +80,46 @@ GEM
71
80
  erubi (~> 1.4)
72
81
  parser (>= 2.4)
73
82
  smart_properties
74
- builder (3.2.4)
75
- capybara (3.37.1)
83
+ bigdecimal (3.1.8)
84
+ builder (3.3.0)
85
+ capybara (3.40.0)
76
86
  addressable
77
87
  matrix
78
88
  mini_mime (>= 0.1.3)
79
- nokogiri (~> 1.8)
89
+ nokogiri (~> 1.11)
80
90
  rack (>= 1.6.0)
81
91
  rack-test (>= 0.6.3)
82
92
  regexp_parser (>= 1.5, < 3.0)
83
93
  xpath (~> 3.2)
84
94
  coderay (1.1.3)
85
- concurrent-ruby (1.2.3)
95
+ concurrent-ruby (1.3.4)
96
+ connection_pool (2.4.1)
86
97
  crass (1.0.6)
87
- database_cleaner (2.0.1)
88
- database_cleaner-active_record (~> 2.0.0)
89
- database_cleaner-active_record (2.0.1)
98
+ database_cleaner (2.0.2)
99
+ database_cleaner-active_record (>= 2, < 3)
100
+ database_cleaner-active_record (2.2.0)
90
101
  activerecord (>= 5.a)
91
102
  database_cleaner-core (~> 2.0.0)
92
103
  database_cleaner-core (2.0.1)
93
104
  date (3.3.4)
94
- diff-lcs (1.5.0)
105
+ diff-lcs (1.5.1)
106
+ drb (2.2.1)
95
107
  email_validator (2.2.4)
96
108
  activemodel
97
- erb_lint (0.5.0)
109
+ erb_lint (0.6.0)
98
110
  activesupport
99
111
  better_html (>= 2.0.1)
100
112
  parser (>= 2.7.1.4)
101
113
  rainbow
102
- rubocop
114
+ rubocop (>= 1)
103
115
  smart_properties
104
- erubi (1.12.0)
105
- factory_bot (6.2.1)
116
+ erubi (1.13.0)
117
+ factory_bot (6.4.6)
106
118
  activesupport (>= 5.0.0)
107
- factory_bot_rails (6.2.0)
108
- factory_bot (~> 6.2.0)
119
+ factory_bot_rails (6.4.3)
120
+ factory_bot (~> 6.4)
109
121
  railties (>= 5.0.0)
110
- ffi (1.16.3)
122
+ ffi (1.17.0)
111
123
  ffi-compiler (1.3.2)
112
124
  ffi (>= 1.15.5)
113
125
  rake
@@ -115,8 +127,13 @@ GEM
115
127
  activesupport (>= 6.1)
116
128
  i18n (1.14.5)
117
129
  concurrent-ruby (~> 1.0)
130
+ io-console (0.7.2)
131
+ irb (1.14.0)
132
+ rdoc (>= 4.0.0)
133
+ reline (>= 0.4.2)
118
134
  json (2.7.2)
119
135
  language_server-protocol (3.17.0.3)
136
+ logger (1.6.0)
120
137
  loofah (2.22.0)
121
138
  crass (~> 1.0.2)
122
139
  nokogiri (>= 1.12.0)
@@ -126,11 +143,11 @@ GEM
126
143
  net-pop
127
144
  net-smtp
128
145
  matrix (0.4.2)
129
- method_source (1.0.0)
130
- mini_mime (1.1.2)
131
- mini_portile2 (2.8.6)
132
- minitest (5.22.3)
133
- net-imap (0.4.11)
146
+ method_source (1.1.0)
147
+ mini_mime (1.1.5)
148
+ mini_portile2 (2.8.7)
149
+ minitest (5.25.1)
150
+ net-imap (0.4.14)
134
151
  date
135
152
  net-protocol
136
153
  net-pop (0.1.2)
@@ -139,21 +156,28 @@ GEM
139
156
  timeout
140
157
  net-smtp (0.5.0)
141
158
  net-protocol
142
- nokogiri (1.16.4)
159
+ nokogiri (1.16.7)
143
160
  mini_portile2 (~> 2.8.2)
144
161
  racc (~> 1.4)
145
- parallel (1.24.0)
146
- parser (3.3.1.0)
162
+ parallel (1.26.3)
163
+ parser (3.3.4.2)
147
164
  ast (~> 2.4.1)
148
165
  racc
149
- pry (0.14.1)
166
+ pry (0.14.2)
150
167
  coderay (~> 1.1)
151
168
  method_source (~> 1.0)
152
- public_suffix (4.0.7)
153
- racc (1.7.3)
154
- rack (2.2.3.1)
155
- rack-test (1.1.0)
156
- rack (>= 1.0, < 3)
169
+ psych (5.1.2)
170
+ stringio
171
+ public_suffix (6.0.1)
172
+ racc (1.8.1)
173
+ rack (3.1.7)
174
+ rack-session (2.0.0)
175
+ rack (>= 3.0.0)
176
+ rack-test (2.1.0)
177
+ rack (>= 1.3)
178
+ rackup (2.1.0)
179
+ rack (>= 3)
180
+ webrick (~> 1.8)
157
181
  rails-controller-testing (1.0.5)
158
182
  actionpack (>= 5.0.1.rc1)
159
183
  actionview (>= 5.0.1.rc1)
@@ -165,62 +189,72 @@ GEM
165
189
  rails-html-sanitizer (1.6.0)
166
190
  loofah (~> 2.21)
167
191
  nokogiri (~> 1.14)
168
- railties (7.0.3)
169
- actionpack (= 7.0.3)
170
- activesupport (= 7.0.3)
171
- method_source
192
+ railties (7.2.0)
193
+ actionpack (= 7.2.0)
194
+ activesupport (= 7.2.0)
195
+ irb (~> 1.13)
196
+ rackup (>= 1.0.0)
172
197
  rake (>= 12.2)
173
- thor (~> 1.0)
174
- zeitwerk (~> 2.5)
198
+ thor (~> 1.0, >= 1.2.2)
199
+ zeitwerk (~> 2.6)
175
200
  rainbow (3.1.1)
176
- rake (13.1.0)
177
- regexp_parser (2.9.0)
178
- rexml (3.2.6)
179
- rspec-core (3.11.0)
180
- rspec-support (~> 3.11.0)
181
- rspec-expectations (3.11.0)
201
+ rake (13.2.1)
202
+ rdoc (6.7.0)
203
+ psych (>= 4.0.0)
204
+ regexp_parser (2.9.2)
205
+ reline (0.5.9)
206
+ io-console (~> 0.5)
207
+ rexml (3.3.5)
208
+ strscan
209
+ rspec-core (3.13.0)
210
+ rspec-support (~> 3.13.0)
211
+ rspec-expectations (3.13.1)
182
212
  diff-lcs (>= 1.2.0, < 2.0)
183
- rspec-support (~> 3.11.0)
184
- rspec-mocks (3.11.1)
213
+ rspec-support (~> 3.13.0)
214
+ rspec-mocks (3.13.1)
185
215
  diff-lcs (>= 1.2.0, < 2.0)
186
- rspec-support (~> 3.11.0)
187
- rspec-rails (5.1.2)
188
- actionpack (>= 5.2)
189
- activesupport (>= 5.2)
190
- railties (>= 5.2)
191
- rspec-core (~> 3.10)
192
- rspec-expectations (~> 3.10)
193
- rspec-mocks (~> 3.10)
194
- rspec-support (~> 3.10)
195
- rspec-support (3.11.0)
196
- rubocop (1.63.4)
216
+ rspec-support (~> 3.13.0)
217
+ rspec-rails (6.1.4)
218
+ actionpack (>= 6.1)
219
+ activesupport (>= 6.1)
220
+ railties (>= 6.1)
221
+ rspec-core (~> 3.13)
222
+ rspec-expectations (~> 3.13)
223
+ rspec-mocks (~> 3.13)
224
+ rspec-support (~> 3.13)
225
+ rspec-support (3.13.1)
226
+ rubocop (1.65.1)
197
227
  json (~> 2.3)
198
228
  language_server-protocol (>= 3.17.0)
199
229
  parallel (~> 1.10)
200
230
  parser (>= 3.3.0.2)
201
231
  rainbow (>= 2.2.2, < 4.0)
202
- regexp_parser (>= 1.8, < 3.0)
232
+ regexp_parser (>= 2.4, < 3.0)
203
233
  rexml (>= 3.2.5, < 4.0)
204
234
  rubocop-ast (>= 1.31.1, < 2.0)
205
235
  ruby-progressbar (~> 1.7)
206
236
  unicode-display_width (>= 2.4.0, < 3.0)
207
- rubocop-ast (1.31.3)
237
+ rubocop-ast (1.32.1)
208
238
  parser (>= 3.3.1.0)
209
239
  ruby-progressbar (1.13.0)
210
- shoulda-matchers (5.1.0)
240
+ securerandom (0.3.1)
241
+ shoulda-matchers (6.4.0)
211
242
  activesupport (>= 5.2.0)
212
243
  smart_properties (1.17.0)
213
244
  sqlite3 (1.7.3)
214
245
  mini_portile2 (~> 2.8.0)
215
- thor (1.2.1)
216
- timecop (0.9.5)
246
+ stringio (3.1.1)
247
+ strscan (3.1.0)
248
+ thor (1.3.1)
217
249
  timeout (0.4.1)
218
250
  tzinfo (2.0.6)
219
251
  concurrent-ruby (~> 1.0)
220
252
  unicode-display_width (2.5.0)
253
+ useragent (0.16.10)
254
+ webrick (1.8.1)
221
255
  xpath (3.2.0)
222
256
  nokogiri (~> 1.8)
223
- zeitwerk (2.5.4)
257
+ zeitwerk (2.6.17)
224
258
 
225
259
  PLATFORMS
226
260
  ruby
@@ -240,7 +274,6 @@ DEPENDENCIES
240
274
  rspec-rails
241
275
  shoulda-matchers
242
276
  sqlite3 (~> 1.7)
243
- timecop
244
277
 
245
278
  BUNDLED WITH
246
279
  2.3.15
data/README.md CHANGED
@@ -18,7 +18,7 @@ monitored by contributors.
18
18
 
19
19
  ## Getting Started
20
20
 
21
- Clearance is a Rails engine tested against Rails `>= 6.1` and Ruby `>= 3.0.0`.
21
+ Clearance is a Rails engine tested against Rails `>= 7.0` and Ruby `>= 3.1.6`.
22
22
 
23
23
  You can add it to your Gemfile with:
24
24
 
@@ -49,6 +49,7 @@ Override any of these defaults in `config/initializers/clearance.rb`:
49
49
  ```ruby
50
50
  Clearance.configure do |config|
51
51
  config.allow_sign_up = true
52
+ config.allow_password_reset = true
52
53
  config.cookie_domain = ".example.com"
53
54
  config.cookie_expiration = lambda { |cookies| 1.year.from_now.utc }
54
55
  config.cookie_name = "remember_token"
data/Rakefile CHANGED
@@ -1,15 +1,12 @@
1
- require "rubygems"
2
1
  require "bundler/setup"
2
+
3
+ APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
4
+ load "rails/tasks/engine.rake"
5
+
3
6
  require "bundler/gem_tasks"
4
7
 
5
- require "rake"
6
8
  require "rspec/core/rake_task"
7
9
 
8
- namespace :dummy do
9
- require_relative "spec/dummy/application"
10
- Dummy::Application.load_tasks
11
- end
12
-
13
10
  desc "Run specs other than spec/acceptance"
14
11
  RSpec::Core::RakeTask.new("spec") do |task|
15
12
  task.exclude_pattern = "spec/acceptance/**/*_spec.rb"
data/SECURITY.md CHANGED
@@ -1,16 +1,20 @@
1
+ <!-- START /templates/security.md -->
1
2
  # Security Policy
2
3
 
3
4
  ## Supported Versions
4
5
 
5
- We will provide security updates for the latest 3 versions.
6
+ Only the the latest version of this project is supported at a given time. If
7
+ you find a security issue with an older version, please try updating to the
8
+ latest version first.
6
9
 
7
- | Version | Security updates |
8
- | - | - |
9
- | 2.7.x | ✅ |
10
- | 2.6.x | ✅ |
11
- | 2.5.x | ✅ |
12
- | < 2.5.0 | :x: |
10
+ If for some reason you can't update to the latest version, please let us know
11
+ your reasons so that we can have a better understanding of your situation.
13
12
 
14
13
  ## Reporting a Vulnerability
15
14
 
16
- You can contact <security@thoughtbot.com>. See <https://thoughtbot.com/security> for more information about our security policy.
15
+ For security inquiries or vulnerability reports, visit
16
+ <https://thoughtbot.com/security>.
17
+
18
+ If you have any suggestions to improve this policy, visit <https://thoughtbot.com/security>.
19
+
20
+ <!-- END /templates/security.md -->
@@ -17,6 +17,8 @@
17
17
  <% if Clearance.configuration.allow_sign_up? %>
18
18
  <%= link_to t(".sign_up"), sign_up_path %>
19
19
  <% end %>
20
- <%= link_to t(".forgot_password"), new_password_path %>
20
+ <% if Clearance.configuration.allow_password_reset? %>
21
+ <%= link_to t(".forgot_password"), new_password_path %>
22
+ <% end %>
21
23
  </div>
22
24
  <% end %>
data/bin/setup CHANGED
@@ -12,5 +12,5 @@ if [ -z "$CI" ]; then
12
12
  fi
13
13
 
14
14
  # Set up database for the application that Clearance tests against
15
- RAILS_ENV=test bundle exec rake dummy:db:drop
16
- RAILS_ENV=test bundle exec rake dummy:db:setup
15
+ RAILS_ENV=test bundle exec rake db:drop
16
+ RAILS_ENV=test bundle exec rake db:setup
data/clearance.gemspec CHANGED
@@ -1,14 +1,13 @@
1
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
2
- require 'clearance/version'
1
+ require_relative 'lib/clearance/version'
3
2
 
4
3
  Gem::Specification.new do |s|
5
- s.add_dependency 'bcrypt', '>= 3.1.1'
4
+ s.add_dependency 'bcrypt', '~> 3.1', '>= 3.1.1'
6
5
  s.add_dependency 'argon2', '~> 2.0', '>= 2.0.2'
7
6
  s.add_dependency 'email_validator', '~> 2.0'
8
- s.add_dependency 'railties', '>= 5.0'
9
- s.add_dependency 'activemodel', '>= 5.0'
10
- s.add_dependency 'activerecord', '>= 5.0'
11
- s.add_dependency 'actionmailer', '>= 5.0'
7
+ s.add_dependency 'railties', '~> 5.0'
8
+ s.add_dependency 'activemodel', '~> 5.0'
9
+ s.add_dependency 'activerecord', '~> 5.0'
10
+ s.add_dependency 'actionmailer', '~> 5.0'
12
11
  s.authors = [
13
12
  'Dan Croak',
14
13
  'Eugene Bolshakov',
@@ -28,7 +27,8 @@ Gem::Specification.new do |s|
28
27
  'Jason Morrison',
29
28
  'Galen Frechette',
30
29
  'Josh Steiner',
31
- 'Dorian Marié'
30
+ 'Dorian Marié',
31
+ 'Sara Jackson'
32
32
  ]
33
33
  s.description = <<-DESCRIPTION
34
34
  Clearance is built to support authentication and authorization via an
@@ -45,7 +45,7 @@ Gem::Specification.new do |s|
45
45
  s.name = %q{clearance}
46
46
  s.rdoc_options = ['--charset=UTF-8']
47
47
  s.require_paths = ['lib']
48
- s.required_ruby_version = Gem::Requirement.new('>= 2.4.0')
48
+ s.required_ruby_version = Gem::Requirement.new('>= 3.1.6')
49
49
  s.summary = 'Rails authentication & authorization with email & password.'
50
50
  s.test_files = `git ls-files -- {spec}/*`.split("\n")
51
51
  s.version = Clearance::VERSION
data/config/routes.rb CHANGED
@@ -11,9 +11,11 @@ if Clearance.configuration.routes_enabled?
11
11
  resources :users,
12
12
  controller: 'clearance/users',
13
13
  only: Clearance.configuration.user_actions do
14
- resource :password,
15
- controller: 'clearance/passwords',
16
- only: [:edit, :update]
14
+ if Clearance.configuration.allow_password_reset?
15
+ resource :password,
16
+ controller: 'clearance/passwords',
17
+ only: [:edit, :update]
18
+ end
17
19
  end
18
20
 
19
21
  get '/sign_in' => 'clearance/sessions#new', as: 'sign_in'
@@ -15,7 +15,10 @@ gem "rails-controller-testing"
15
15
  gem "rspec-rails"
16
16
  gem "shoulda-matchers"
17
17
  gem "sqlite3", "~> 1.7"
18
- gem "timecop"
19
18
  gem "railties", "~> 7.0.0"
19
+ gem "base64", require: false
20
+ gem "bigdecimal", require: false
21
+ gem "drb", require: false
22
+ gem "mutex_m", require: false
20
23
 
21
24
  gemspec path: "../"
@@ -15,7 +15,6 @@ gem "rails-controller-testing"
15
15
  gem "rspec-rails"
16
16
  gem "shoulda-matchers"
17
17
  gem "sqlite3", "~> 1.7"
18
- gem "timecop"
19
18
  gem "railties", "~> 7.1.0"
20
19
 
21
20
  gemspec path: "../"