devise-secure_password 2.0.0 → 2.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be4167e6f4c2efee915bc84b57323df20067eee0b4f80fd6bfbfcef372ae70d3
4
- data.tar.gz: e0e0d78b7bd7ef2ab1c326f45e3d4b5df51d91ef68d8ec9d0632b435b9fd102e
3
+ metadata.gz: a2e80099b8c322cd261f7a0fbd90084067f7dddfdd54f3dae8fcddb5332f8699
4
+ data.tar.gz: d2d48b58dc422ff894eec4d13628059fb41dcbbd80adc7e7a3a5062c7bb78ae3
5
5
  SHA512:
6
- metadata.gz: 83aea3e496702715f20c3e3dbd8804f67140878f32c1d9d196981dd95b77c801e68d705198534e7d20def9a433c3ef5e47bdaeb5a5d1613df0c8283d1d63c59f
7
- data.tar.gz: 055a7210bcb781c382b0d7f8cff18695a592cd0f97e7624f5b9b661b46aedb85071623934a98787b5e5036c84425ca47f5434bdb453bf79af1f0554d0eab3476
6
+ metadata.gz: c4bd7731fedbef2c0fcc378e7b99a1f062b219158d111474d9610b66ae65f57810f4919fe2041b9834afde0aa80b81ffeff449d83c29d4790c1dbcc686e659f3
7
+ data.tar.gz: ba5e45d193293c1e3e76899fea8b1689772bf8cfd19f54f5a61659f1a4e2868df7cca5e297de504dc73809bb99000b6217fcfe60c477281c77aa22621fba06d1
data/Changelog.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog: devise-secure_password
2
2
 
3
+ ## 2.1.0 / 2024-06-02
4
+
5
+ * Various CircleCI updates.
6
+ * Update README for (Rails, Ruby) versions tested.
7
+ * Drop support for old Ruby and Rails; add support for Rails 7.0.
8
+ * Implement support to additional special characters. #71
9
+ * several years worth of dependabot updates
10
+
3
11
  ## 1.1.0 / 2018-08-08
4
12
 
5
13
  With this release, the __devise-secure_password__ gem drops official support for Rails < 5.1. Supported versions are now
data/Gemfile CHANGED
@@ -10,5 +10,5 @@ gemspec
10
10
 
11
11
  group :test do
12
12
  gem 'codecov', require: false
13
- gem 'shoulda-matchers', git: 'https://github.com/thoughtbot/shoulda-matchers.git', branch: 'rails-5'
13
+ gem 'shoulda-matchers'
14
14
  end
data/Gemfile.lock CHANGED
@@ -1,238 +1,298 @@
1
- GIT
2
- remote: https://github.com/thoughtbot/shoulda-matchers.git
3
- revision: 4b160bd19ecca7f97d7ac22dccd5fde9b0da5a9f
4
- branch: rails-5
5
- specs:
6
- shoulda-matchers (3.1.2)
7
- activesupport (>= 4.2.0)
8
-
9
1
  PATH
10
2
  remote: .
11
3
  specs:
12
- devise-secure_password (2.0.0)
4
+ devise-secure_password (2.1.0)
13
5
  devise (>= 4.0.0, < 5.0.0)
14
- railties (>= 5.0.0, < 7.0.0)
6
+ railties (>= 5.0.0, < 8.0.0)
15
7
 
16
8
  GEM
17
9
  remote: https://rubygems.org/
18
10
  specs:
19
- actioncable (6.1.3.1)
20
- actionpack (= 6.1.3.1)
21
- activesupport (= 6.1.3.1)
11
+ actioncable (7.1.3.2)
12
+ actionpack (= 7.1.3.2)
13
+ activesupport (= 7.1.3.2)
22
14
  nio4r (~> 2.0)
23
15
  websocket-driver (>= 0.6.1)
24
- actionmailbox (6.1.3.1)
25
- actionpack (= 6.1.3.1)
26
- activejob (= 6.1.3.1)
27
- activerecord (= 6.1.3.1)
28
- activestorage (= 6.1.3.1)
29
- activesupport (= 6.1.3.1)
16
+ zeitwerk (~> 2.6)
17
+ actionmailbox (7.1.3.2)
18
+ actionpack (= 7.1.3.2)
19
+ activejob (= 7.1.3.2)
20
+ activerecord (= 7.1.3.2)
21
+ activestorage (= 7.1.3.2)
22
+ activesupport (= 7.1.3.2)
30
23
  mail (>= 2.7.1)
31
- actionmailer (6.1.3.1)
32
- actionpack (= 6.1.3.1)
33
- actionview (= 6.1.3.1)
34
- activejob (= 6.1.3.1)
35
- activesupport (= 6.1.3.1)
24
+ net-imap
25
+ net-pop
26
+ net-smtp
27
+ actionmailer (7.1.3.2)
28
+ actionpack (= 7.1.3.2)
29
+ actionview (= 7.1.3.2)
30
+ activejob (= 7.1.3.2)
31
+ activesupport (= 7.1.3.2)
36
32
  mail (~> 2.5, >= 2.5.4)
37
- rails-dom-testing (~> 2.0)
38
- actionpack (6.1.3.1)
39
- actionview (= 6.1.3.1)
40
- activesupport (= 6.1.3.1)
41
- rack (~> 2.0, >= 2.0.9)
33
+ net-imap
34
+ net-pop
35
+ net-smtp
36
+ rails-dom-testing (~> 2.2)
37
+ actionpack (7.1.3.2)
38
+ actionview (= 7.1.3.2)
39
+ activesupport (= 7.1.3.2)
40
+ nokogiri (>= 1.8.5)
41
+ racc
42
+ rack (>= 2.2.4)
43
+ rack-session (>= 1.0.1)
42
44
  rack-test (>= 0.6.3)
43
- rails-dom-testing (~> 2.0)
44
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
45
- actiontext (6.1.3.1)
46
- actionpack (= 6.1.3.1)
47
- activerecord (= 6.1.3.1)
48
- activestorage (= 6.1.3.1)
49
- activesupport (= 6.1.3.1)
45
+ rails-dom-testing (~> 2.2)
46
+ rails-html-sanitizer (~> 1.6)
47
+ actiontext (7.1.3.2)
48
+ actionpack (= 7.1.3.2)
49
+ activerecord (= 7.1.3.2)
50
+ activestorage (= 7.1.3.2)
51
+ activesupport (= 7.1.3.2)
52
+ globalid (>= 0.6.0)
50
53
  nokogiri (>= 1.8.5)
51
- actionview (6.1.3.1)
52
- activesupport (= 6.1.3.1)
54
+ actionview (7.1.3.2)
55
+ activesupport (= 7.1.3.2)
53
56
  builder (~> 3.1)
54
- erubi (~> 1.4)
55
- rails-dom-testing (~> 2.0)
56
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
57
- activejob (6.1.3.1)
58
- activesupport (= 6.1.3.1)
57
+ erubi (~> 1.11)
58
+ rails-dom-testing (~> 2.2)
59
+ rails-html-sanitizer (~> 1.6)
60
+ activejob (7.1.3.2)
61
+ activesupport (= 7.1.3.2)
59
62
  globalid (>= 0.3.6)
60
- activemodel (6.1.3.1)
61
- activesupport (= 6.1.3.1)
62
- activerecord (6.1.3.1)
63
- activemodel (= 6.1.3.1)
64
- activesupport (= 6.1.3.1)
65
- activestorage (6.1.3.1)
66
- actionpack (= 6.1.3.1)
67
- activejob (= 6.1.3.1)
68
- activerecord (= 6.1.3.1)
69
- activesupport (= 6.1.3.1)
70
- marcel (~> 1.0.0)
71
- mini_mime (~> 1.0.2)
72
- activesupport (6.1.3.1)
63
+ activemodel (7.1.3.2)
64
+ activesupport (= 7.1.3.2)
65
+ activerecord (7.1.3.2)
66
+ activemodel (= 7.1.3.2)
67
+ activesupport (= 7.1.3.2)
68
+ timeout (>= 0.4.0)
69
+ activestorage (7.1.3.2)
70
+ actionpack (= 7.1.3.2)
71
+ activejob (= 7.1.3.2)
72
+ activerecord (= 7.1.3.2)
73
+ activesupport (= 7.1.3.2)
74
+ marcel (~> 1.0)
75
+ activesupport (7.1.3.2)
76
+ base64
77
+ bigdecimal
73
78
  concurrent-ruby (~> 1.0, >= 1.0.2)
79
+ connection_pool (>= 2.2.5)
80
+ drb
74
81
  i18n (>= 1.6, < 2)
75
82
  minitest (>= 5.1)
83
+ mutex_m
76
84
  tzinfo (~> 2.0)
77
- zeitwerk (~> 2.3)
78
- addressable (2.7.0)
79
- public_suffix (>= 2.0.2, < 5.0)
85
+ addressable (2.8.6)
86
+ public_suffix (>= 2.0.2, < 6.0)
80
87
  ansi (1.5.0)
81
88
  ast (2.4.2)
82
- bcrypt (3.1.16)
89
+ base64 (0.2.0)
90
+ bcrypt (3.1.20)
91
+ bigdecimal (3.1.7)
83
92
  builder (3.2.4)
84
- capybara (3.35.3)
93
+ capybara (3.40.0)
85
94
  addressable
95
+ matrix
86
96
  mini_mime (>= 0.1.3)
87
- nokogiri (~> 1.8)
97
+ nokogiri (~> 1.11)
88
98
  rack (>= 1.6.0)
89
99
  rack-test (>= 0.6.3)
90
100
  regexp_parser (>= 1.5, < 3.0)
91
101
  xpath (~> 3.2)
92
- capybara-screenshot (1.0.25)
102
+ capybara-screenshot (1.0.26)
93
103
  capybara (>= 1.0, < 4)
94
104
  launchy
95
- childprocess (3.0.0)
96
- codecov (0.5.2)
105
+ childprocess (5.0.0)
106
+ codecov (0.6.0)
97
107
  simplecov (>= 0.15, < 0.22)
98
- concurrent-ruby (1.1.8)
108
+ concurrent-ruby (1.2.3)
109
+ connection_pool (2.4.1)
99
110
  crass (1.0.6)
100
- database_cleaner (2.0.1)
101
- database_cleaner-active_record (~> 2.0.0)
102
- database_cleaner-active_record (2.0.0)
111
+ database_cleaner (2.0.2)
112
+ database_cleaner-active_record (>= 2, < 3)
113
+ database_cleaner-active_record (2.1.0)
103
114
  activerecord (>= 5.a)
104
115
  database_cleaner-core (~> 2.0.0)
105
116
  database_cleaner-core (2.0.1)
106
- devise (4.8.0)
117
+ date (3.3.4)
118
+ devise (4.9.3)
107
119
  bcrypt (~> 3.0)
108
120
  orm_adapter (~> 0.1)
109
121
  railties (>= 4.1.0)
110
122
  responders
111
123
  warden (~> 1.2.3)
112
- diff-lcs (1.4.4)
113
- docile (1.3.5)
114
- erubi (1.10.0)
115
- erubis (2.7.0)
116
- flay (2.12.1)
117
- erubis (~> 2.7.0)
124
+ diff-lcs (1.5.1)
125
+ docile (1.4.0)
126
+ drb (2.2.1)
127
+ erubi (1.12.0)
128
+ flay (2.13.2)
129
+ erubi (~> 1.10)
118
130
  path_expander (~> 1.0)
119
131
  ruby_parser (~> 3.0)
120
132
  sexp_processor (~> 4.0)
121
- globalid (0.4.2)
122
- activesupport (>= 4.2.0)
123
- i18n (1.8.10)
133
+ globalid (1.2.1)
134
+ activesupport (>= 6.1)
135
+ i18n (1.14.4)
124
136
  concurrent-ruby (~> 1.0)
125
- launchy (2.5.0)
126
- addressable (~> 2.7)
127
- loofah (2.9.1)
137
+ io-console (0.7.2)
138
+ irb (1.12.0)
139
+ rdoc
140
+ reline (>= 0.4.2)
141
+ json (2.7.1)
142
+ language_server-protocol (3.17.0.3)
143
+ launchy (3.0.0)
144
+ addressable (~> 2.8)
145
+ childprocess (~> 5.0)
146
+ loofah (2.22.0)
128
147
  crass (~> 1.0.2)
129
- nokogiri (>= 1.5.9)
130
- mail (2.7.1)
148
+ nokogiri (>= 1.12.0)
149
+ mail (2.8.1)
131
150
  mini_mime (>= 0.1.1)
132
- marcel (1.0.1)
133
- method_source (1.0.0)
134
- mini_mime (1.0.3)
135
- mini_portile2 (2.5.1)
136
- minitest (5.14.4)
137
- nio4r (2.5.7)
138
- nokogiri (1.11.3)
139
- mini_portile2 (~> 2.5.0)
151
+ net-imap
152
+ net-pop
153
+ net-smtp
154
+ marcel (1.0.4)
155
+ matrix (0.4.2)
156
+ mini_mime (1.1.5)
157
+ mini_portile2 (2.8.5)
158
+ minitest (5.22.3)
159
+ mutex_m (0.2.0)
160
+ net-imap (0.4.10)
161
+ date
162
+ net-protocol
163
+ net-pop (0.1.2)
164
+ net-protocol
165
+ net-protocol (0.2.2)
166
+ timeout
167
+ net-smtp (0.4.0.1)
168
+ net-protocol
169
+ nio4r (2.7.1)
170
+ nokogiri (1.16.3)
171
+ mini_portile2 (~> 2.8.2)
140
172
  racc (~> 1.4)
141
173
  orm_adapter (0.5.0)
142
- parallel (1.20.1)
143
- parser (3.0.1.1)
174
+ parallel (1.24.0)
175
+ parser (3.3.0.5)
144
176
  ast (~> 2.4.1)
145
- path_expander (1.1.0)
146
- public_suffix (4.0.6)
147
- racc (1.5.2)
148
- rack (2.2.3)
149
- rack-test (1.1.0)
150
- rack (>= 1.0, < 3)
151
- rails (6.1.3.1)
152
- actioncable (= 6.1.3.1)
153
- actionmailbox (= 6.1.3.1)
154
- actionmailer (= 6.1.3.1)
155
- actionpack (= 6.1.3.1)
156
- actiontext (= 6.1.3.1)
157
- actionview (= 6.1.3.1)
158
- activejob (= 6.1.3.1)
159
- activemodel (= 6.1.3.1)
160
- activerecord (= 6.1.3.1)
161
- activestorage (= 6.1.3.1)
162
- activesupport (= 6.1.3.1)
177
+ racc
178
+ path_expander (1.1.1)
179
+ psych (5.1.2)
180
+ stringio
181
+ public_suffix (5.0.4)
182
+ racc (1.7.3)
183
+ rack (3.0.10)
184
+ rack-session (2.0.0)
185
+ rack (>= 3.0.0)
186
+ rack-test (2.1.0)
187
+ rack (>= 1.3)
188
+ rackup (2.1.0)
189
+ rack (>= 3)
190
+ webrick (~> 1.8)
191
+ rails (7.1.3.2)
192
+ actioncable (= 7.1.3.2)
193
+ actionmailbox (= 7.1.3.2)
194
+ actionmailer (= 7.1.3.2)
195
+ actionpack (= 7.1.3.2)
196
+ actiontext (= 7.1.3.2)
197
+ actionview (= 7.1.3.2)
198
+ activejob (= 7.1.3.2)
199
+ activemodel (= 7.1.3.2)
200
+ activerecord (= 7.1.3.2)
201
+ activestorage (= 7.1.3.2)
202
+ activesupport (= 7.1.3.2)
163
203
  bundler (>= 1.15.0)
164
- railties (= 6.1.3.1)
165
- sprockets-rails (>= 2.0.0)
166
- rails-dom-testing (2.0.3)
167
- activesupport (>= 4.2.0)
204
+ railties (= 7.1.3.2)
205
+ rails-dom-testing (2.2.0)
206
+ activesupport (>= 5.0.0)
207
+ minitest
168
208
  nokogiri (>= 1.6)
169
- rails-html-sanitizer (1.3.0)
170
- loofah (~> 2.3)
171
- railties (6.1.3.1)
172
- actionpack (= 6.1.3.1)
173
- activesupport (= 6.1.3.1)
174
- method_source
175
- rake (>= 0.8.7)
176
- thor (~> 1.0)
177
- rainbow (3.0.0)
178
- rake (13.0.3)
179
- regexp_parser (2.1.1)
180
- responders (3.0.1)
181
- actionpack (>= 5.0)
182
- railties (>= 5.0)
183
- rexml (3.2.5)
184
- rspec (3.10.0)
185
- rspec-core (~> 3.10.0)
186
- rspec-expectations (~> 3.10.0)
187
- rspec-mocks (~> 3.10.0)
188
- rspec-core (3.10.1)
189
- rspec-support (~> 3.10.0)
190
- rspec-expectations (3.10.1)
191
- diff-lcs (>= 1.2.0, < 2.0)
192
- rspec-support (~> 3.10.0)
193
- rspec-mocks (3.10.2)
194
- diff-lcs (>= 1.2.0, < 2.0)
195
- rspec-support (~> 3.10.0)
196
- rspec-rails (5.0.1)
209
+ rails-html-sanitizer (1.6.0)
210
+ loofah (~> 2.21)
211
+ nokogiri (~> 1.14)
212
+ railties (7.1.3.2)
213
+ actionpack (= 7.1.3.2)
214
+ activesupport (= 7.1.3.2)
215
+ irb
216
+ rackup (>= 1.0.0)
217
+ rake (>= 12.2)
218
+ thor (~> 1.0, >= 1.2.2)
219
+ zeitwerk (~> 2.6)
220
+ rainbow (3.1.1)
221
+ rake (13.1.0)
222
+ rdoc (6.6.3.1)
223
+ psych (>= 4.0.0)
224
+ regexp_parser (2.9.0)
225
+ reline (0.4.3)
226
+ io-console (~> 0.5)
227
+ responders (3.1.1)
197
228
  actionpack (>= 5.2)
198
- activesupport (>= 5.2)
199
229
  railties (>= 5.2)
200
- rspec-core (~> 3.10)
201
- rspec-expectations (~> 3.10)
202
- rspec-mocks (~> 3.10)
203
- rspec-support (~> 3.10)
204
- rspec-support (3.10.2)
205
- rspec_junit_formatter (0.4.1)
230
+ rexml (3.2.6)
231
+ rspec (3.13.0)
232
+ rspec-core (~> 3.13.0)
233
+ rspec-expectations (~> 3.13.0)
234
+ rspec-mocks (~> 3.13.0)
235
+ rspec-core (3.13.0)
236
+ rspec-support (~> 3.13.0)
237
+ rspec-expectations (3.13.0)
238
+ diff-lcs (>= 1.2.0, < 2.0)
239
+ rspec-support (~> 3.13.0)
240
+ rspec-mocks (3.13.0)
241
+ diff-lcs (>= 1.2.0, < 2.0)
242
+ rspec-support (~> 3.13.0)
243
+ rspec-rails (6.1.2)
244
+ actionpack (>= 6.1)
245
+ activesupport (>= 6.1)
246
+ railties (>= 6.1)
247
+ rspec-core (~> 3.13)
248
+ rspec-expectations (~> 3.13)
249
+ rspec-mocks (~> 3.13)
250
+ rspec-support (~> 3.13)
251
+ rspec-support (3.13.1)
252
+ rspec_junit_formatter (0.6.0)
206
253
  rspec-core (>= 2, < 4, != 2.12.0)
207
- rubocop (1.13.0)
254
+ rubocop (1.62.1)
255
+ json (~> 2.3)
256
+ language_server-protocol (>= 3.17.0)
208
257
  parallel (~> 1.10)
209
- parser (>= 3.0.0.0)
258
+ parser (>= 3.3.0.2)
210
259
  rainbow (>= 2.2.2, < 4.0)
211
260
  regexp_parser (>= 1.8, < 3.0)
212
- rexml
213
- rubocop-ast (>= 1.2.0, < 2.0)
261
+ rexml (>= 3.2.5, < 4.0)
262
+ rubocop-ast (>= 1.31.1, < 2.0)
214
263
  ruby-progressbar (~> 1.7)
215
- unicode-display_width (>= 1.4.0, < 3.0)
216
- rubocop-ast (1.5.0)
217
- parser (>= 3.0.1.1)
218
- rubocop-rails (2.9.1)
264
+ unicode-display_width (>= 2.4.0, < 3.0)
265
+ rubocop-ast (1.31.2)
266
+ parser (>= 3.3.0.4)
267
+ rubocop-capybara (2.20.0)
268
+ rubocop (~> 1.41)
269
+ rubocop-factory_bot (2.25.1)
270
+ rubocop (~> 1.41)
271
+ rubocop-rails (2.24.0)
219
272
  activesupport (>= 4.2.0)
220
273
  rack (>= 1.1)
221
- rubocop (>= 0.90.0, < 2.0)
222
- rubocop-rspec (2.3.0)
223
- rubocop (~> 1.0)
224
- rubocop-ast (>= 1.1.0)
225
- ruby-progressbar (1.11.0)
226
- ruby2ruby (2.4.4)
274
+ rubocop (>= 1.33.0, < 2.0)
275
+ rubocop-ast (>= 1.31.1, < 2.0)
276
+ rubocop-rspec (2.27.1)
277
+ rubocop (~> 1.40)
278
+ rubocop-capybara (~> 2.17)
279
+ rubocop-factory_bot (~> 2.22)
280
+ ruby-progressbar (1.13.0)
281
+ ruby2ruby (2.5.0)
227
282
  ruby_parser (~> 3.1)
228
283
  sexp_processor (~> 4.6)
229
- ruby_parser (3.15.1)
230
- sexp_processor (~> 4.9)
231
- rubyzip (2.3.0)
232
- selenium-webdriver (3.142.7)
233
- childprocess (>= 0.5, < 4.0)
234
- rubyzip (>= 1.2.2)
235
- sexp_processor (4.15.2)
284
+ ruby_parser (3.21.0)
285
+ racc (~> 1.5)
286
+ sexp_processor (~> 4.16)
287
+ rubyzip (2.3.2)
288
+ selenium-webdriver (4.18.1)
289
+ base64 (~> 0.2)
290
+ rexml (~> 3.2, >= 3.2.5)
291
+ rubyzip (>= 1.2.2, < 3.0)
292
+ websocket (~> 1.0)
293
+ sexp_processor (4.17.1)
294
+ shoulda-matchers (6.2.0)
295
+ activesupport (>= 5.2.0)
236
296
  simplecov (0.21.2)
237
297
  docile (~> 1.1)
238
298
  simplecov-html (~> 0.11)
@@ -242,29 +302,27 @@ GEM
242
302
  simplecov
243
303
  terminal-table
244
304
  simplecov-html (0.12.3)
245
- simplecov_json_formatter (0.1.3)
246
- sprockets (4.0.2)
247
- concurrent-ruby (~> 1.0)
248
- rack (> 1, < 3)
249
- sprockets-rails (3.2.2)
250
- actionpack (>= 4.0)
251
- activesupport (>= 4.0)
252
- sprockets (>= 3.0.0)
253
- sqlite3 (1.4.2)
254
- terminal-table (3.0.0)
255
- unicode-display_width (~> 1.1, >= 1.1.1)
256
- thor (1.1.0)
257
- tzinfo (2.0.4)
305
+ simplecov_json_formatter (0.1.4)
306
+ sqlite3 (1.7.3)
307
+ mini_portile2 (~> 2.8.0)
308
+ stringio (3.1.0)
309
+ terminal-table (3.0.2)
310
+ unicode-display_width (>= 1.1.1, < 3)
311
+ thor (1.3.1)
312
+ timeout (0.4.1)
313
+ tzinfo (2.0.6)
258
314
  concurrent-ruby (~> 1.0)
259
- unicode-display_width (1.7.0)
315
+ unicode-display_width (2.5.0)
260
316
  warden (1.2.9)
261
317
  rack (>= 2.0.9)
262
- websocket-driver (0.7.3)
318
+ webrick (1.8.1)
319
+ websocket (1.2.10)
320
+ websocket-driver (0.7.6)
263
321
  websocket-extensions (>= 0.1.0)
264
322
  websocket-extensions (0.1.5)
265
323
  xpath (3.2.0)
266
324
  nokogiri (~> 1.8)
267
- zeitwerk (2.4.2)
325
+ zeitwerk (2.6.13)
268
326
 
269
327
  PLATFORMS
270
328
  ruby
@@ -279,7 +337,7 @@ DEPENDENCIES
279
337
  devise-secure_password!
280
338
  flay (>= 2.10.0)
281
339
  launchy (>= 2.4.3)
282
- rails (>= 5.2.0)
340
+ rails (>= 6.1.0)
283
341
  rake (>= 12.3)
284
342
  rspec (>= 3.7)
285
343
  rspec-rails (>= 3.7)
@@ -289,10 +347,10 @@ DEPENDENCIES
289
347
  rubocop-rspec (>= 1.35.0)
290
348
  ruby2ruby (>= 2.4.0)
291
349
  selenium-webdriver (>= 3.7.0)
292
- shoulda-matchers!
350
+ shoulda-matchers
293
351
  simplecov (>= 0.18.2)
294
352
  simplecov-console (>= 0.4.2)
295
- sqlite3 (>= 1.3.13)
353
+ sqlite3 (>= 1.7.0)
296
354
 
297
355
  BUNDLED WITH
298
- 2.2.16
356
+ 2.5.10
data/README.md CHANGED
@@ -7,12 +7,6 @@ added to a Rails project to enforce password policies. The gem is implemented as
7
7
  [devise](https://github.com/plataformatec/devise) authentication solution gem and requires that __devise__ is installed
8
8
  as well.
9
9
 
10
- ## Build Status
11
-
12
- | Service | rails 6.1 |
13
- |:-----------|:-----------:|
14
- | Circle CI | [![Circle CI](https://circleci.com/gh/ValiMail/devise-secure_password/tree/master.svg?style=shield&circle-token=cd173d5f9d2944a9b14737c2d4339b20b08565cf)]() |
15
-
16
10
  ## Overview
17
11
 
18
12
  The __Devise Secure Password Extension__ is composed of the following modules:
@@ -32,15 +26,48 @@ The goal of this project is to provide compatibility for officially supported st
32
26
  and [Ruby on Rails](http://guides.rubyonrails.org/maintenance_policy.html). More specifically, the following releases
33
27
  are currently supported by the __Devise Secure Password Extension__:
34
28
 
35
- - Ruby on Rails: __6.1.x__, __6.0.x__ (current and previous stable release)
36
- - Ruby: __3.0.x__, __2.7.x__ (current and previous stable release)
29
+ - Ruby on Rails: __6.1.x__, __7.0.x__
30
+ - Ruby: __3.1.x__, __3.2.x__, __3.3.x__
31
+
32
+ ### Updating to a New Rails Version
33
+
34
+ This gem uses so-called "dummy" apps in the specs to verify compatibility with a major/minor version of Rails. Adding a new major/minor version of Rails requires us to add a new "dummy" app in the spec folder, and a corresponding Gemfile in the gemfiles directory. While manual, this process is relatively straightforward:
35
+
36
+ 1. Create a new Rails app in the directory `spec/rails_<major>_<minor>` by using the Rails generator for that version, ensuring you skip Git setup. (e.g. `cd spec; rails _6.0.3.6_ new rails-app-6_0 --skip-git`)
37
+ 2. Move the Gemfile from the newly created app to the `gemfiles` directory and rename it with the major/minor version (e.g. `mv spec/rails_6_1/Gemfile gemfiles/rails_6_1.gemfile`)
38
+ 3. Update the Gemfile to include the Rails target and gemspec immediately beneath the source declarations, like this:
39
+
40
+ ```ruby
41
+ source 'https://rubygems.org'
42
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
43
+
44
+ ENV['RAILS_TARGET'] ||= '6.1'
45
+
46
+ gemspec path: '../'
47
+ ```
48
+
49
+ 4. Add `gem 'shoulda-matchers'` under the test group in the new Gemfile
50
+ 5. Ensure you can bundle by running `bundle` with the `BUNDLE_GEMFILE` variable set to the new Gemfile (i.e. `BUNDLE_GEMFILE=gemfiles/rails_6_1.gemfile bundle`). This should run successfully - fix as needed.
51
+ 6. Copy the file `config/initializers/devise.rb` from an existing "dummy" app to the same location in the new app.
52
+ 7. Copy the file `config/routes.rb` from an existing "dummy" app to the same location in the new app.
53
+ 8. Copy the contents of the `db/migrate` directory from an existing "dummy" app to the same location in the new app. Copy the `db/schema.rb` and `db/test.sqlite3` as well
54
+ 9. Copy the `app/controllers/static_pages_controller.rb` from an existing "dummy" app to the same location in the new app.
55
+ 10. Copy the `app/models/isolated` directory and the `app/models/user.rb` file from an existing "dummy" app to the same location in the new app.
56
+ 11. Copy the `app/views/static_pages` directory from an existing "dummy" app to the same location in the new app.
57
+ 12. Update the `app/views/layouts/application.html.erb` in the new app to have the same `<body>` content and `<title>` as the same file in an existing "dummy" app.
58
+ 13. At this point you should be able to run specs. (i.e. `BUNDLE_GEMFILE=gemfiles/rails_6_1.gemfile bundle exec rake`). Run specs and fix version specific issues, taking care to maintain backwards compatibility with supported versions.
59
+ 14. You should also run Rubocop (i.e. `BUNDLE_GEMFILE=gemfiles/rails_6_1.gemfile bundle exec rubocop`) and fix whatever issues are reported (again, maintaining backwards compatibility)
60
+ 15. In the `.circleci/config.yml` file update the `current_rails_gemfile` and `previous_rails_gemfile` to reference the new version and the previous version of Rails to be supported
61
+ 16. Delete any files for old Rails versions that are no longer supported - "dummy" apps and the corresponding `gemfiles` Gemfile.
62
+ 17. Update the Circle CI badge label in this README to reflect the newly supported Rails version.
63
+
37
64
 
38
65
  ## Installation
39
66
 
40
67
  Add this line to your application's Gemfile:
41
68
 
42
69
  ```ruby
43
- gem 'devise', '~> 4.7'
70
+ gem 'devise', '~> 4.8'
44
71
  gem 'devise-secure_password', '~> 2.0'
45
72
  ```
46
73
 
@@ -88,7 +115,7 @@ Devise.setup do |config|
88
115
  # The number of numbers (0-9) required in a password:
89
116
  # config.password_required_number_count = 1
90
117
 
91
- # The number of special characters (!@#$%^&*()_+-=[]{}|') required in a password:
118
+ # The number of special characters ( !@#$%^&*()_+-=[]{}|'"/\.,`<>:;?~) required in a password:
92
119
  # config.password_required_special_character_count = 1
93
120
 
94
121
  # ==> Configuration for the Devise Secure Password extension
@@ -228,14 +255,14 @@ To determine the Ruby on Rails versions supported by this release, run the follo
228
255
  prompt> gem install flay ruby2ruby rubocop rspec
229
256
  prompt> rake test:spec:targets
230
257
 
231
- Available Rails targets: 5.1, 5.2
258
+ Available Rails targets: 7.0, 6.1
232
259
  ```
233
260
 
234
261
  Reconfigure the project by specifying the correct Gemfile when running bundler, followed by running tests:
235
262
 
236
263
  ```bash
237
- prompt> BUNDLE_GEMFILE=gemfiles/rails_5_2.gemfile bundle
238
- prompt> BUNDLE_GEMFILE=gemfiles/rails_5_2.gemfile bundle exec rake
264
+ prompt> BUNDLE_GEMFILE=gemfiles/rails_7_0.gemfile bundle
265
+ prompt> BUNDLE_GEMFILE=gemfiles/rails_7_0.gemfile bundle exec rake
239
266
  ```
240
267
 
241
268
  The only time you need to define the `BUNDLE_GEMFILE` environment variable is when testing a non-default target.