clearance 2.7.0 → 2.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f43e65fb98c36167f024899806818f771cabf396d1c1e147f4a21d1bdccb37dd
4
- data.tar.gz: 42a88e8b50b98b5414b923fda5775e1998223791ffe2fcee00ca03163c7f9a50
3
+ metadata.gz: e9ebc10e226aa134b16da93b71b4c3a711c3f83f151446fea8efddcaa6bd732f
4
+ data.tar.gz: '09513f61deaff3967af0226d46e1ab26239919ed6d6ce4dcfa9883e7d2cc68f2'
5
5
  SHA512:
6
- metadata.gz: 680e0a4d6cebe218f7d8fffeadebcdcd9a160cb9a562a5cef3f876ad118556d4caa4338b40e3dd0135e3ee89e47a8034593d6131ee8eeb4ec7f47062b1aafe3a
7
- data.tar.gz: cbc137fa5f3f722f28f99c1537909ed27b3b54e5df3aee37b4c7954e2b3e6c452a900f034239072196796171703eb27c3e859edc69b08bb35762bd260f0253a4
6
+ metadata.gz: 27db1cc19f4846fd087600086ea7d00fb99e2730ae63a09047400e1a9239b5cbc31461c48a49a053a06ec88c89e571694d96d377bf7afea05e1bb0910a69b51c
7
+ data.tar.gz: 5dded1584c8fa0485d60e3eeb7175f45d93b03a1c5afb9644fe3064d09af1c9e5da70eabe11e35e6bd8d31bb8ea9c997ab35537b4b72d3320da4e994250b0119
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.0...main
8
+ [Unreleased]: https://github.com/thoughtbot/clearance/compare/v2.7.2...main
9
+
10
+ ## [2.7.2] - June 28, 2024
11
+ - Fix method redefinition and circular require issues (#1027)
12
+ - Add specs for email validator strict mode (#1001)
13
+ - Create SECURITY.md (#972)
14
+ - Fix validating email in strict mode (#976)
15
+ - Update the example config in README.md (#977)
16
+ - Remove Hound README badge (#1020)
17
+
18
+ [2.7.2]: https://github.com/thoughtbot/clearance/compare/v2.7.1...v2.7.2
19
+
20
+ ## [2.7.1] - May 8, 2024
21
+ - Update sqlite3 and erb_lint gems (#1017) Jos O'shea
22
+
23
+ [2.7.1]: https://github.com/thoughtbot/clearance/compare/v2.7.0...v2.7.1
9
24
 
10
25
  ## [2.7.0] - April 19, 2024
11
26
  - Call dynamic README workflow (#1004)
data/Gemfile CHANGED
@@ -14,5 +14,5 @@ gem 'pry', require: false
14
14
  gem 'rails-controller-testing'
15
15
  gem 'rspec-rails'
16
16
  gem 'shoulda-matchers'
17
- gem 'sqlite3'
17
+ gem 'sqlite3', '~> 1.7'
18
18
  gem 'timecop'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clearance (2.7.0)
4
+ clearance (2.7.2)
5
5
  actionmailer (>= 5.0)
6
6
  activemodel (>= 5.0)
7
7
  activerecord (>= 5.0)
@@ -64,12 +64,11 @@ GEM
64
64
  ffi-compiler (~> 1.0)
65
65
  ast (2.4.2)
66
66
  bcrypt (3.1.20)
67
- better_html (1.0.16)
68
- actionview (>= 4.0)
69
- activesupport (>= 4.0)
67
+ better_html (2.1.1)
68
+ actionview (>= 6.0)
69
+ activesupport (>= 6.0)
70
70
  ast (~> 2.0)
71
71
  erubi (~> 1.4)
72
- html_tokenizer (~> 0.0.6)
73
72
  parser (>= 2.4)
74
73
  smart_properties
75
74
  builder (3.2.4)
@@ -83,7 +82,7 @@ GEM
83
82
  regexp_parser (>= 1.5, < 3.0)
84
83
  xpath (~> 3.2)
85
84
  coderay (1.1.3)
86
- concurrent-ruby (1.1.10)
85
+ concurrent-ruby (1.2.3)
87
86
  crass (1.0.6)
88
87
  database_cleaner (2.0.1)
89
88
  database_cleaner-active_record (~> 2.0.0)
@@ -95,15 +94,14 @@ GEM
95
94
  diff-lcs (1.5.0)
96
95
  email_validator (2.2.4)
97
96
  activemodel
98
- erb_lint (0.1.1)
97
+ erb_lint (0.5.0)
99
98
  activesupport
100
- better_html (~> 1.0.7)
101
- html_tokenizer
99
+ better_html (>= 2.0.1)
102
100
  parser (>= 2.7.1.4)
103
101
  rainbow
104
102
  rubocop
105
103
  smart_properties
106
- erubi (1.10.0)
104
+ erubi (1.12.0)
107
105
  factory_bot (6.2.1)
108
106
  activesupport (>= 5.0.0)
109
107
  factory_bot_rails (6.2.0)
@@ -115,12 +113,13 @@ GEM
115
113
  rake
116
114
  globalid (1.2.1)
117
115
  activesupport (>= 6.1)
118
- html_tokenizer (0.0.7)
119
- i18n (1.10.0)
116
+ i18n (1.14.5)
120
117
  concurrent-ruby (~> 1.0)
121
- loofah (2.18.0)
118
+ json (2.7.2)
119
+ language_server-protocol (3.17.0.3)
120
+ loofah (2.22.0)
122
121
  crass (~> 1.0.2)
123
- nokogiri (>= 1.5.9)
122
+ nokogiri (>= 1.12.0)
124
123
  mail (2.8.1)
125
124
  mini_mime (>= 0.1.1)
126
125
  net-imap
@@ -129,9 +128,9 @@ GEM
129
128
  matrix (0.4.2)
130
129
  method_source (1.0.0)
131
130
  mini_mime (1.1.2)
132
- mini_portile2 (2.8.0)
133
- minitest (5.15.0)
134
- net-imap (0.4.10)
131
+ mini_portile2 (2.8.6)
132
+ minitest (5.22.3)
133
+ net-imap (0.4.11)
135
134
  date
136
135
  net-protocol
137
136
  net-pop (0.1.2)
@@ -140,17 +139,18 @@ GEM
140
139
  timeout
141
140
  net-smtp (0.5.0)
142
141
  net-protocol
143
- nokogiri (1.13.6)
144
- mini_portile2 (~> 2.8.0)
142
+ nokogiri (1.16.4)
143
+ mini_portile2 (~> 2.8.2)
145
144
  racc (~> 1.4)
146
- parallel (1.22.1)
147
- parser (3.1.2.0)
145
+ parallel (1.24.0)
146
+ parser (3.3.1.0)
148
147
  ast (~> 2.4.1)
148
+ racc
149
149
  pry (0.14.1)
150
150
  coderay (~> 1.1)
151
151
  method_source (~> 1.0)
152
152
  public_suffix (4.0.7)
153
- racc (1.6.0)
153
+ racc (1.7.3)
154
154
  rack (2.2.3.1)
155
155
  rack-test (1.1.0)
156
156
  rack (>= 1.0, < 3)
@@ -158,11 +158,13 @@ GEM
158
158
  actionpack (>= 5.0.1.rc1)
159
159
  actionview (>= 5.0.1.rc1)
160
160
  activesupport (>= 5.0.1.rc1)
161
- rails-dom-testing (2.0.3)
162
- activesupport (>= 4.2.0)
161
+ rails-dom-testing (2.2.0)
162
+ activesupport (>= 5.0.0)
163
+ minitest
163
164
  nokogiri (>= 1.6)
164
- rails-html-sanitizer (1.4.3)
165
- loofah (~> 2.3)
165
+ rails-html-sanitizer (1.6.0)
166
+ loofah (~> 2.21)
167
+ nokogiri (~> 1.14)
166
168
  railties (7.0.3)
167
169
  actionpack (= 7.0.3)
168
170
  activesupport (= 7.0.3)
@@ -172,8 +174,8 @@ GEM
172
174
  zeitwerk (~> 2.5)
173
175
  rainbow (3.1.1)
174
176
  rake (13.1.0)
175
- regexp_parser (2.5.0)
176
- rexml (3.2.5)
177
+ regexp_parser (2.9.0)
178
+ rexml (3.2.6)
177
179
  rspec-core (3.11.0)
178
180
  rspec-support (~> 3.11.0)
179
181
  rspec-expectations (3.11.0)
@@ -191,28 +193,31 @@ GEM
191
193
  rspec-mocks (~> 3.10)
192
194
  rspec-support (~> 3.10)
193
195
  rspec-support (3.11.0)
194
- rubocop (1.30.1)
196
+ rubocop (1.63.4)
197
+ json (~> 2.3)
198
+ language_server-protocol (>= 3.17.0)
195
199
  parallel (~> 1.10)
196
- parser (>= 3.1.0.0)
200
+ parser (>= 3.3.0.2)
197
201
  rainbow (>= 2.2.2, < 4.0)
198
202
  regexp_parser (>= 1.8, < 3.0)
199
203
  rexml (>= 3.2.5, < 4.0)
200
- rubocop-ast (>= 1.18.0, < 2.0)
204
+ rubocop-ast (>= 1.31.1, < 2.0)
201
205
  ruby-progressbar (~> 1.7)
202
- unicode-display_width (>= 1.4.0, < 3.0)
203
- rubocop-ast (1.18.0)
204
- parser (>= 3.1.1.0)
205
- ruby-progressbar (1.11.0)
206
+ unicode-display_width (>= 2.4.0, < 3.0)
207
+ rubocop-ast (1.31.3)
208
+ parser (>= 3.3.1.0)
209
+ ruby-progressbar (1.13.0)
206
210
  shoulda-matchers (5.1.0)
207
211
  activesupport (>= 5.2.0)
208
212
  smart_properties (1.17.0)
209
- sqlite3 (1.4.2)
213
+ sqlite3 (1.7.3)
214
+ mini_portile2 (~> 2.8.0)
210
215
  thor (1.2.1)
211
216
  timecop (0.9.5)
212
217
  timeout (0.4.1)
213
- tzinfo (2.0.4)
218
+ tzinfo (2.0.6)
214
219
  concurrent-ruby (~> 1.0)
215
- unicode-display_width (2.1.0)
220
+ unicode-display_width (2.5.0)
216
221
  xpath (3.2.0)
217
222
  nokogiri (~> 1.8)
218
223
  zeitwerk (2.5.4)
@@ -234,7 +239,7 @@ DEPENDENCIES
234
239
  rails-controller-testing
235
240
  rspec-rails
236
241
  shoulda-matchers
237
- sqlite3
242
+ sqlite3 (~> 1.7)
238
243
  timecop
239
244
 
240
245
  BUNDLED WITH
data/README.md CHANGED
@@ -3,7 +3,6 @@
3
3
  [![Build Status](https://github.com/thoughtbot/clearance/actions/workflows/tests.yml/badge.svg)]( https://github.com/thoughtbot/clearance/actions/workflows/tests.yml?query=branch%3Amain)
4
4
  [![Code Climate](https://codeclimate.com/github/thoughtbot/clearance.svg)](https://codeclimate.com/github/thoughtbot/clearance)
5
5
  [![Documentation Quality](https://inch-ci.org/github/thoughtbot/clearance.svg?branch=main)](https://inch-ci.org/github/thoughtbot/clearance)
6
- [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com)
7
6
 
8
7
  Rails authentication with email & password.
9
8
 
@@ -63,7 +62,7 @@ Clearance.configure do |config|
63
62
  config.url_after_denied_access_when_signed_out = nil
64
63
  config.rotate_csrf_on_sign_in = true
65
64
  config.same_site = nil
66
- config.secure_cookie = false
65
+ config.secure_cookie = Rails.configuration.force_ssl
67
66
  config.signed_cookie = false
68
67
  config.sign_in_guards = []
69
68
  config.user_model = "User"
@@ -497,4 +496,19 @@ redistributed under the terms specified in the [`LICENSE`] file.
497
496
  [`LICENSE`]: /LICENSE
498
497
 
499
498
  <!-- START /templates/footer.md -->
499
+ ## About thoughtbot
500
+
501
+ ![thoughtbot](https://thoughtbot.com/thoughtbot-logo-for-readmes.svg)
502
+
503
+ This repo is maintained and funded by thoughtbot, inc.
504
+ The names and logos for thoughtbot are trademarks of thoughtbot, inc.
505
+
506
+ We love open source software!
507
+ See [our other projects][community].
508
+ We are [available for hire][hire].
509
+
510
+ [community]: https://thoughtbot.com/community?utm_source=github
511
+ [hire]: https://thoughtbot.com/hire-us?utm_source=github
512
+
513
+
500
514
  <!-- END /templates/footer.md -->
data/SECURITY.md ADDED
@@ -0,0 +1,16 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ We will provide security updates for the latest 3 versions.
6
+
7
+ | Version | Security updates |
8
+ | - | - |
9
+ | 2.7.x | ✅ |
10
+ | 2.6.x | ✅ |
11
+ | 2.5.x | ✅ |
12
+ | < 2.5.0 | :x: |
13
+
14
+ ## Reporting a Vulnerability
15
+
16
+ You can contact <security@thoughtbot.com>. See <https://thoughtbot.com/security> for more information about our security policy.
@@ -14,7 +14,7 @@ gem "pry", require: false
14
14
  gem "rails-controller-testing"
15
15
  gem "rspec-rails"
16
16
  gem "shoulda-matchers"
17
- gem "sqlite3"
17
+ gem "sqlite3", "~> 1.7"
18
18
  gem "timecop"
19
19
  gem "railties", "~> 6.1.0"
20
20
  gem "net-smtp", require: false
@@ -14,7 +14,7 @@ gem "pry", require: false
14
14
  gem "rails-controller-testing"
15
15
  gem "rspec-rails"
16
16
  gem "shoulda-matchers"
17
- gem "sqlite3"
17
+ gem "sqlite3", "~> 1.7"
18
18
  gem "timecop"
19
19
  gem "railties", "~> 7.0.0"
20
20
 
@@ -14,7 +14,7 @@ gem "pry", require: false
14
14
  gem "rails-controller-testing"
15
15
  gem "rspec-rails"
16
16
  gem "shoulda-matchers"
17
- gem "sqlite3"
17
+ gem "sqlite3", "~> 1.7"
18
18
  gem "timecop"
19
19
  gem "railties", "~> 7.1.0"
20
20
 
@@ -135,7 +135,7 @@ module Clearance
135
135
  # The parameter for user routes. By default this is derived from the user
136
136
  # model.
137
137
  # @return [Symbol]
138
- attr_accessor :user_parameter
138
+ attr_writer :user_parameter
139
139
 
140
140
  # Controls wether users are automatically signed in after successfully
141
141
  # resetting their password.
@@ -1,4 +1,3 @@
1
- require "clearance"
2
1
  require "rails/engine"
3
2
 
4
3
  module Clearance
@@ -150,7 +150,7 @@ module Clearance
150
150
 
151
151
  included do
152
152
  validates :email,
153
- email: { strict_mode: true },
153
+ email: { mode: :strict },
154
154
  presence: true,
155
155
  uniqueness: { allow_blank: true, case_sensitive: true },
156
156
  unless: :email_optional?
@@ -1,3 +1,3 @@
1
1
  module Clearance
2
- VERSION = "2.7.0".freeze
2
+ VERSION = "2.7.2".freeze
3
3
  end
data/lib/clearance.rb CHANGED
@@ -5,9 +5,9 @@ require 'clearance/rack_session'
5
5
  require 'clearance/back_door'
6
6
  require 'clearance/controller'
7
7
  require 'clearance/user'
8
- require 'clearance/engine'
9
8
  require 'clearance/password_strategies'
10
9
  require 'clearance/constraints'
10
+ require 'clearance/engine'
11
11
 
12
12
  module Clearance
13
13
  end
@@ -5,15 +5,16 @@ describe User do
5
5
  it { is_expected.to have_db_index(:remember_token) }
6
6
  it { is_expected.to validate_presence_of(:email) }
7
7
  it { is_expected.to validate_presence_of(:password) }
8
- it { is_expected.to allow_value("foo;@example.com").for(:email) }
9
- it { is_expected.to allow_value("foo@.example.com").for(:email) }
10
- it { is_expected.to allow_value("foo@example..com").for(:email) }
11
8
  it { is_expected.to allow_value("foo@example.co.uk").for(:email) }
12
9
  it { is_expected.to allow_value("foo@example.com").for(:email) }
13
10
  it { is_expected.to allow_value("foo+bar@example.com").for(:email) }
14
11
  it { is_expected.not_to allow_value("example.com").for(:email) }
15
12
  it { is_expected.not_to allow_value("foo").for(:email) }
16
13
  it { is_expected.not_to allow_value("foo@").for(:email) }
14
+ it { is_expected.not_to allow_value("foo@bar").for(:email) }
15
+ it { is_expected.not_to allow_value("foo;@example.com").for(:email) }
16
+ it { is_expected.not_to allow_value("foo@.example.com").for(:email) }
17
+ it { is_expected.not_to allow_value("foo@example..com").for(:email) }
17
18
 
18
19
  describe "#email" do
19
20
  it "stores email in down case and removes whitespace" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clearance
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Croak
@@ -26,7 +26,7 @@ authors:
26
26
  autorequire:
27
27
  bindir: bin
28
28
  cert_chain: []
29
- date: 2024-04-19 00:00:00.000000000 Z
29
+ date: 2024-06-28 00:00:00.000000000 Z
30
30
  dependencies:
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: bcrypt
@@ -160,6 +160,7 @@ files:
160
160
  - README.md
161
161
  - RELEASING.md
162
162
  - Rakefile
163
+ - SECURITY.md
163
164
  - app/controllers/clearance/base_controller.rb
164
165
  - app/controllers/clearance/passwords_controller.rb
165
166
  - app/controllers/clearance/sessions_controller.rb