devise-secure_password 1.0.6 → 1.0.7

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +6 -0
  3. data/Gemfile.lock +8 -8
  4. data/README.md +2 -2
  5. data/app/controllers/devise/passwords_with_policy_controller.rb +2 -4
  6. data/gemfiles/{rails-5_0_6.gemfile → rails-5_0.gemfile} +1 -1
  7. data/gemfiles/{rails-5_1_4.gemfile → rails-5_1.gemfile} +1 -1
  8. data/gemfiles/{rails-5_1_4.gemfile.lock → rails-5_1.gemfile.lock} +8 -8
  9. data/lib/devise/secure_password.rb +2 -2
  10. data/lib/devise/secure_password/controllers/devise_helpers.rb +4 -48
  11. data/lib/devise/secure_password/controllers/helpers.rb +53 -0
  12. data/lib/devise/secure_password/models/password_requires_regular_updates.rb +0 -2
  13. data/lib/devise/secure_password/version.rb +1 -1
  14. data/pkg/devise-secure_password-1.0.7.gem +0 -0
  15. metadata +8 -38
  16. data/coverage/assets/0.10.2/application.css +0 -799
  17. data/coverage/assets/0.10.2/application.js +0 -1707
  18. data/coverage/assets/0.10.2/colorbox/border.png +0 -0
  19. data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
  20. data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
  21. data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
  22. data/coverage/assets/0.10.2/favicon_green.png +0 -0
  23. data/coverage/assets/0.10.2/favicon_red.png +0 -0
  24. data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
  25. data/coverage/assets/0.10.2/loading.gif +0 -0
  26. data/coverage/assets/0.10.2/magnify.png +0 -0
  27. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  28. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  29. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  30. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  31. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  32. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  33. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  34. data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  35. data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
  36. data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  37. data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
  38. data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
  39. data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  40. data/coverage/index.html +0 -4115
  41. data/devise-secure_password-1.0.0.gem +0 -0
  42. data/gemfiles/rails-5_0_6.gemfile.lock +0 -286
  43. data/lib/devise/secure_password/controllers/active_helpers.rb +0 -45
  44. data/lib/devise/secure_password/hooks/password_requires_regular_updates.rb +0 -5
  45. data/pkg/devise-secure_password-1.0.3.gem +0 -0
  46. data/pkg/devise-secure_password-1.0.4.gem +0 -0
  47. data/pkg/devise-secure_password-1.0.5.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 537cd336906fbda7eca3ea27bec51cb3198394c3
4
- data.tar.gz: 7aeb869fd6060a7c85479d17ef8939329bda484f
3
+ metadata.gz: 7d48b94f72dec051554ab4176e23b7509e77674c
4
+ data.tar.gz: 73bba702c406149b9a0ea5356c55bcd6da0d63ba
5
5
  SHA512:
6
- metadata.gz: 5ad811d3b36cae428e2461087445bab6fd337298d0292b82ec2caa33d98e1377f1eb09a6379f32d1863fdd6c48b088417b6ecd8ba2ba665f8edc5a099e435d9b
7
- data.tar.gz: 4b4c9c7b91c9489b3ee347903226bbdda54ff56dff82d2a060442a7f3088ff1819e2f46043c01c3fae0352f13d50c95656cbff7de74f27d62326f8c095467a23
6
+ metadata.gz: cae5af852eb447a67736844354bc34c7857d041075c25e32ee1e8177e047bffc0b10d11746dbf3a834f45357663781a70eb64922a53eb0ca302726508950468c
7
+ data.tar.gz: 8c60f1e2df9ea2d686d8ce48d5cc0a9206e6d3dd83c1a6703bf74b0242dc5112f49c39154b5b9556d61dbf15d4da90b68b15f554a7a9baeb2f3c447cf32c2111
data/Changelog.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog: devise-secure_password
2
2
 
3
+ ## 1.0.7 / 2018-05-25
4
+
5
+ * Fix specs to use appropriate Rails version
6
+ * Update configuration to not include patch version for Rails
7
+ * Manage expiration in session to remove incompatability with authentication extensions
8
+
3
9
  ## 1.0.6 / 2018-05-04
4
10
 
5
11
  * Fix scoping for previous passwords returned through associations.
data/Gemfile.lock CHANGED
@@ -9,7 +9,7 @@ GIT
9
9
  PATH
10
10
  remote: .
11
11
  specs:
12
- devise-secure_password (1.0.6)
12
+ devise-secure_password (1.0.7)
13
13
  devise (>= 4.0.0, < 5.0.0)
14
14
  railties (>= 5.0.0, < 6.0.0)
15
15
 
@@ -62,7 +62,7 @@ GEM
62
62
  ansi (1.5.0)
63
63
  arel (9.0.0)
64
64
  ast (2.4.0)
65
- bcrypt (3.1.11)
65
+ bcrypt (3.1.12)
66
66
  builder (3.2.3)
67
67
  capybara (2.18.0)
68
68
  addressable
@@ -71,7 +71,7 @@ GEM
71
71
  rack (>= 1.0.0)
72
72
  rack-test (>= 0.5.4)
73
73
  xpath (>= 2.0, < 4.0)
74
- capybara-screenshot (1.0.19)
74
+ capybara-screenshot (1.0.21)
75
75
  capybara (>= 1.0, < 4)
76
76
  launchy
77
77
  childprocess (0.9.0)
@@ -98,7 +98,7 @@ GEM
98
98
  erubis (2.7.0)
99
99
  execjs (2.7.0)
100
100
  ffi (1.9.23)
101
- flay (2.11.0)
101
+ flay (2.12.0)
102
102
  erubis (~> 2.7.0)
103
103
  path_expander (~> 1.0)
104
104
  ruby_parser (~> 3.0)
@@ -124,7 +124,7 @@ GEM
124
124
  mini_mime (1.0.0)
125
125
  mini_portile2 (2.3.0)
126
126
  minitest (5.11.3)
127
- nio4r (2.3.0)
127
+ nio4r (2.3.1)
128
128
  nokogiri (1.8.2)
129
129
  mini_portile2 (~> 2.3.0)
130
130
  orm_adapter (0.5.0)
@@ -193,7 +193,7 @@ GEM
193
193
  rspec-support (3.7.1)
194
194
  rspec_junit_formatter (0.3.0)
195
195
  rspec-core (>= 2, < 4, != 2.12.0)
196
- rubocop (0.55.0)
196
+ rubocop (0.56.0)
197
197
  parallel (~> 1.10)
198
198
  parser (>= 2.5)
199
199
  powerpack (~> 0.1)
@@ -218,7 +218,7 @@ GEM
218
218
  sprockets (>= 2.8, < 4.0)
219
219
  sprockets-rails (>= 2.0, < 4.0)
220
220
  tilt (>= 1.1, < 3)
221
- selenium-webdriver (3.11.0)
221
+ selenium-webdriver (3.12.0)
222
222
  childprocess (~> 0.5)
223
223
  rubyzip (~> 1.2)
224
224
  sexp_processor (4.11.0)
@@ -285,4 +285,4 @@ DEPENDENCIES
285
285
  therubyracer (~> 0.12.3)
286
286
 
287
287
  BUNDLED WITH
288
- 1.16.1
288
+ 1.16.2
data/README.md CHANGED
@@ -9,7 +9,7 @@ as well.
9
9
 
10
10
  ## Build Status
11
11
 
12
- | Service | rails 5.1.4 |
12
+ | Service | rails 5.1 |
13
13
  |:-----------|:-----------:|
14
14
  | Circle CI | [![Circle CI](https://circleci.com/gh/ValiMail/devise-secure_password/tree/master.svg?style=shield&circle-token=cd173d5f9d2944a9b14737c2d4339b20b08565cf)]() |
15
15
 
@@ -228,7 +228,7 @@ To determine the Ruby on Rails versions supported by this release, run the follo
228
228
  prompt> gem install flay ruby2ruby rubocop rspec
229
229
  prompt> rake test:spec:targets
230
230
 
231
- Available Rails targets: 5.0.6, 5.1.4
231
+ Available Rails targets: 5.0, 5.1
232
232
  ```
233
233
 
234
234
  Reconfigure the project by specifying the correct Gemfile when running bundler, followed by running tests:
@@ -4,9 +4,7 @@ module Devise
4
4
 
5
5
  def edit
6
6
  self.resource = resource_class.new
7
- if warden.session(scope_name)['secure_password_expired']
8
- resource.errors.add(:base, "#{error_string_for_password_expired}.")
9
- end
7
+ resource.errors.add(:base, "#{error_string_for_password_expired}.")
10
8
  render :edit
11
9
  end
12
10
 
@@ -44,7 +42,7 @@ module Devise
44
42
  end
45
43
 
46
44
  def prepare_for_redirect
47
- warden.session(scope_name)[:secure_password_expired] = false
45
+ unset_devise_secure_password_expired!
48
46
  flash[:notice] = alert_string_for_password_updated
49
47
  bypass_sign_in resource, scope: scope_name
50
48
  end
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
- ENV['RAILS_TARGET'] ||= '5.0.6'
5
+ ENV['RAILS_TARGET'] ||= '5.0'
6
6
 
7
7
  gemspec path: '../'
8
8
 
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
- ENV['RAILS_TARGET'] ||= '5.1.4'
5
+ ENV['RAILS_TARGET'] ||= '5.1'
6
6
 
7
7
  gemspec path: '../'
8
8
 
@@ -9,7 +9,7 @@ GIT
9
9
  PATH
10
10
  remote: ..
11
11
  specs:
12
- devise-secure_password (1.0.5)
12
+ devise-secure_password (1.0.6)
13
13
  devise (>= 4.0.0, < 5.0.0)
14
14
  railties (>= 5.0.0, < 6.0.0)
15
15
 
@@ -58,7 +58,7 @@ GEM
58
58
  ansi (1.5.0)
59
59
  arel (8.0.0)
60
60
  ast (2.4.0)
61
- bcrypt (3.1.11)
61
+ bcrypt (3.1.12)
62
62
  builder (3.2.3)
63
63
  byebug (10.0.2)
64
64
  capybara (2.18.0)
@@ -68,7 +68,7 @@ GEM
68
68
  rack (>= 1.0.0)
69
69
  rack-test (>= 0.5.4)
70
70
  xpath (>= 2.0, < 4.0)
71
- capybara-screenshot (1.0.19)
71
+ capybara-screenshot (1.0.21)
72
72
  capybara (>= 1.0, < 4)
73
73
  launchy
74
74
  childprocess (0.9.0)
@@ -95,7 +95,7 @@ GEM
95
95
  erubis (2.7.0)
96
96
  execjs (2.7.0)
97
97
  ffi (1.9.23)
98
- flay (2.11.0)
98
+ flay (2.12.0)
99
99
  erubis (~> 2.7.0)
100
100
  path_expander (~> 1.0)
101
101
  ruby_parser (~> 3.0)
@@ -118,7 +118,7 @@ GEM
118
118
  mini_mime (1.0.0)
119
119
  mini_portile2 (2.3.0)
120
120
  minitest (5.11.3)
121
- nio4r (2.3.0)
121
+ nio4r (2.3.1)
122
122
  nokogiri (1.8.2)
123
123
  mini_portile2 (~> 2.3.0)
124
124
  orm_adapter (0.5.0)
@@ -186,7 +186,7 @@ GEM
186
186
  rspec-support (3.7.1)
187
187
  rspec_junit_formatter (0.3.0)
188
188
  rspec-core (>= 2, < 4, != 2.12.0)
189
- rubocop (0.55.0)
189
+ rubocop (0.56.0)
190
190
  parallel (~> 1.10)
191
191
  parser (>= 2.5)
192
192
  powerpack (~> 0.1)
@@ -211,7 +211,7 @@ GEM
211
211
  sprockets (>= 2.8, < 4.0)
212
212
  sprockets-rails (>= 2.0, < 4.0)
213
213
  tilt (>= 1.1, < 3)
214
- selenium-webdriver (3.11.0)
214
+ selenium-webdriver (3.12.0)
215
215
  childprocess (~> 0.5)
216
216
  rubyzip (~> 1.2)
217
217
  sexp_processor (4.11.0)
@@ -279,4 +279,4 @@ DEPENDENCIES
279
279
  therubyracer (~> 0.12.3)
280
280
 
281
281
  BUNDLED WITH
282
- 1.16.1
282
+ 1.16.2
@@ -38,8 +38,8 @@ module Devise
38
38
 
39
39
  module SecurePassword
40
40
  module Controllers
41
+ autoload :Helpers, 'devise/secure_password/controllers/helpers'
41
42
  autoload :DeviseHelpers, 'devise/secure_password/controllers/devise_helpers'
42
- autoload :ActiveHelpers, 'devise/secure_password/controllers/active_helpers'
43
43
  end
44
44
 
45
45
  class Engine < ::Rails::Engine
@@ -49,7 +49,7 @@ module Devise
49
49
  end
50
50
  ActiveSupport.on_load(:action_controller) do
51
51
  include ActionView::Helpers::DateHelper
52
- include Devise::SecurePassword::Controllers::ActiveHelpers
52
+ include Devise::SecurePassword::Controllers::Helpers
53
53
  end
54
54
 
55
55
  # add exceptions to the inflector so it doesn't get tripped up by our concerns that end in an 's'
@@ -6,58 +6,14 @@ module Devise
6
6
 
7
7
  # rubocop:disable Style/ClassAndModuleChildren
8
8
  class ::DeviseController
9
- alias old_require_no_authentication require_no_authentication
9
+ alias devise_sign_in sign_in
10
10
 
11
11
  protected
12
12
 
13
- # Override the devise require_no_authentication before callback to
14
- # prevent authenticated users with expired passwords from escaping to
15
- # other pages without first updating their passwords.
16
- def require_no_authentication
17
- return if check_password_expired_and_redirect!
18
-
19
- old_require_no_authentication
20
- end
21
-
22
- # Store the name of the current controller and action in the warden
23
- # session store then redirect if signed in and password expired. The
24
- # stored values will be used by non-devise controllers to prevent a
25
- # user from escaping the change password process.
26
- def check_password_expired_and_redirect!
27
- assert_is_devise_resource!
28
-
29
- return if skip_current_devise_controller?
30
-
31
- if signed_in?(scope_name) && warden.session(scope_name)[:secure_password_expired]
32
- save_controller_state
33
- redirect_to edit_user_password_with_policy_url, alert: "#{error_string_for_password_expired}."
34
- return true
13
+ def sign_in(*args)
14
+ devise_sign_in(*args).tap do
15
+ set_devise_secure_password_expired! if warden_user_has_password_expiration?
35
16
  end
36
-
37
- false
38
- end
39
-
40
- def save_controller_state
41
- warden.session(scope_name)[:secure_last_controller] = self.class.name
42
- warden.session(scope_name)[:secure_last_action] = action_name
43
- end
44
-
45
- # Prevent infinite loops and allow specified controllers to bypass.
46
- # @NOTE: The ability to extend this list may be made public, in the
47
- # future if that functionality is needed.
48
- def skip_current_devise_controller?
49
- exclusion_list = [
50
- 'Devise::SessionsController'
51
- ]
52
- !(exclusion_list.include?("#{self.class.name}#" + action_name) || (exclusion_list & self.class.ancestors.map(&:to_s)).any?)
53
- end
54
-
55
- def error_string_for_password_expired
56
- class_obj = scope_name.to_s.camelize.constantize
57
- I18n.t(
58
- 'secure_password.password_requires_regular_updates.errors.messages.password_expired',
59
- timeframe: distance_of_time_in_words(class_obj.password_maximum_age)
60
- )
61
17
  end
62
18
  end
63
19
  # rubocop:enable Style/ClassAndModuleChildren
@@ -0,0 +1,53 @@
1
+ module Devise
2
+ module SecurePassword
3
+ module Controllers
4
+ module Helpers
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ before_action :authenticate_secure_password!, unless: :devise_controller?
9
+ end
10
+
11
+ def authenticate_secure_password_expired?
12
+ return false if devise_controller?
13
+ session[:devise_secure_password_expired] == true
14
+ end
15
+
16
+ def authenticate_secure_password!
17
+ return unless authenticate_secure_password_expired?
18
+ redirect_to authenticate_secure_password_path, alert: "#{error_string_for_password_expired}."
19
+ end
20
+
21
+ def authenticate_secure_password_path
22
+ return unless warden.user
23
+ :"edit_#{devise_secure_password_scope}_password_with_policy"
24
+ end
25
+
26
+ private
27
+
28
+ def devise_secure_password_scope
29
+ Devise::Mapping.find_scope!(warden.user)
30
+ end
31
+
32
+ def error_string_for_password_expired
33
+ I18n.t(
34
+ 'secure_password.password_requires_regular_updates.errors.messages.password_expired',
35
+ timeframe: distance_of_time_in_words(warden.user.class.password_maximum_age)
36
+ )
37
+ end
38
+
39
+ def set_devise_secure_password_expired!
40
+ session[:devise_secure_password_expired] = warden.user.password_expired?
41
+ end
42
+
43
+ def unset_devise_secure_password_expired!
44
+ session.delete(:devise_secure_password_expired)
45
+ end
46
+
47
+ def warden_user_has_password_expiration?
48
+ warden&.user&.respond_to?(:password_expired?)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -3,8 +3,6 @@ module Devise
3
3
  module PasswordRequiresRegularUpdates
4
4
  extend ActiveSupport::Concern
5
5
 
6
- require 'devise/secure_password/hooks/password_requires_regular_updates'
7
-
8
6
  class ConfigurationError < RuntimeError; end
9
7
 
10
8
  included do
@@ -1,5 +1,5 @@
1
1
  module Devise
2
2
  module SecurePassword
3
- VERSION = '1.0.6'.freeze
3
+ VERSION = '1.0.7'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-secure_password
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Eissler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-04 00:00:00.000000000 Z
11
+ date: 2018-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise
@@ -425,42 +425,14 @@ files:
425
425
  - "./bin/console"
426
426
  - "./bin/setup"
427
427
  - "./config/locales/en.yml"
428
- - "./coverage/assets/0.10.2/application.css"
429
- - "./coverage/assets/0.10.2/application.js"
430
- - "./coverage/assets/0.10.2/colorbox/border.png"
431
- - "./coverage/assets/0.10.2/colorbox/controls.png"
432
- - "./coverage/assets/0.10.2/colorbox/loading.gif"
433
- - "./coverage/assets/0.10.2/colorbox/loading_background.png"
434
- - "./coverage/assets/0.10.2/favicon_green.png"
435
- - "./coverage/assets/0.10.2/favicon_red.png"
436
- - "./coverage/assets/0.10.2/favicon_yellow.png"
437
- - "./coverage/assets/0.10.2/loading.gif"
438
- - "./coverage/assets/0.10.2/magnify.png"
439
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png"
440
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png"
441
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png"
442
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png"
443
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png"
444
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png"
445
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png"
446
- - "./coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png"
447
- - "./coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png"
448
- - "./coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png"
449
- - "./coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png"
450
- - "./coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png"
451
- - "./coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png"
452
- - "./coverage/index.html"
453
- - "./devise-secure_password-1.0.0.gem"
454
428
  - "./devise-secure_password.gemspec"
455
429
  - "./docker-entrypoint.sh"
456
- - "./gemfiles/rails-5_0_6.gemfile"
457
- - "./gemfiles/rails-5_0_6.gemfile.lock"
458
- - "./gemfiles/rails-5_1_4.gemfile"
459
- - "./gemfiles/rails-5_1_4.gemfile.lock"
430
+ - "./gemfiles/rails-5_0.gemfile"
431
+ - "./gemfiles/rails-5_1.gemfile"
432
+ - "./gemfiles/rails-5_1.gemfile.lock"
460
433
  - "./lib/devise/secure_password.rb"
461
- - "./lib/devise/secure_password/controllers/active_helpers.rb"
462
434
  - "./lib/devise/secure_password/controllers/devise_helpers.rb"
463
- - "./lib/devise/secure_password/hooks/password_requires_regular_updates.rb"
435
+ - "./lib/devise/secure_password/controllers/helpers.rb"
464
436
  - "./lib/devise/secure_password/models/password_disallows_frequent_changes.rb"
465
437
  - "./lib/devise/secure_password/models/password_disallows_frequent_reuse.rb"
466
438
  - "./lib/devise/secure_password/models/password_has_required_content.rb"
@@ -472,9 +444,7 @@ files:
472
444
  - "./lib/generators/devise/templates/README.txt"
473
445
  - "./lib/generators/devise/templates/secure_password.rb"
474
446
  - "./lib/support/string/character_counter.rb"
475
- - "./pkg/devise-secure_password-1.0.3.gem"
476
- - "./pkg/devise-secure_password-1.0.4.gem"
477
- - "./pkg/devise-secure_password-1.0.5.gem"
447
+ - "./pkg/devise-secure_password-1.0.7.gem"
478
448
  homepage: https://github.com/valimail/devise-secure_password
479
449
  licenses:
480
450
  - MIT
@@ -495,7 +465,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
495
465
  version: '0'
496
466
  requirements: []
497
467
  rubyforge_project:
498
- rubygems_version: 2.6.14
468
+ rubygems_version: 2.6.14.1
499
469
  signing_key:
500
470
  specification_version: 4
501
471
  summary: A devise password policy enforcement extension.