devise 4.2.0 → 4.4.3

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.

Potentially problematic release.


This version of devise might be problematic. Click here for more details.

Files changed (225) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +27 -5
  3. data/CHANGELOG.md +65 -0
  4. data/CONTRIBUTING.md +68 -28
  5. data/Gemfile +3 -1
  6. data/Gemfile.lock +79 -83
  7. data/ISSUE_TEMPLATE.md +19 -0
  8. data/MIT-LICENSE +1 -1
  9. data/README.md +108 -11
  10. data/Rakefile +1 -0
  11. data/app/controllers/devise/confirmations_controller.rb +2 -0
  12. data/app/controllers/devise/omniauth_callbacks_controller.rb +4 -2
  13. data/app/controllers/devise/passwords_controller.rb +2 -0
  14. data/app/controllers/devise/registrations_controller.rb +6 -3
  15. data/app/controllers/devise/sessions_controller.rb +3 -1
  16. data/app/controllers/devise/unlocks_controller.rb +2 -0
  17. data/app/controllers/devise_controller.rb +2 -0
  18. data/app/helpers/devise_helper.rb +2 -0
  19. data/app/mailers/devise/mailer.rb +6 -0
  20. data/app/views/devise/confirmations/new.html.erb +1 -1
  21. data/app/views/devise/mailer/email_changed.html.erb +7 -0
  22. data/app/views/devise/passwords/new.html.erb +1 -1
  23. data/app/views/devise/registrations/edit.html.erb +1 -1
  24. data/app/views/devise/registrations/new.html.erb +1 -1
  25. data/app/views/devise/sessions/new.html.erb +1 -1
  26. data/app/views/devise/unlocks/new.html.erb +1 -1
  27. data/config/locales/en.yml +2 -0
  28. data/devise.gemspec +3 -1
  29. data/gemfiles/Gemfile.rails-4.1-stable +3 -1
  30. data/gemfiles/Gemfile.rails-4.1-stable.lock +67 -70
  31. data/gemfiles/Gemfile.rails-4.2-stable +3 -1
  32. data/gemfiles/Gemfile.rails-4.2-stable.lock +69 -73
  33. data/gemfiles/Gemfile.rails-5.0-stable +33 -0
  34. data/gemfiles/Gemfile.rails-5.0-stable.lock +192 -0
  35. data/gemfiles/Gemfile.rails-5.2-rc1 +26 -0
  36. data/gemfiles/Gemfile.rails-5.2-rc1.lock +201 -0
  37. data/guides/bug_report_templates/integration_test.rb +2 -0
  38. data/lib/devise/controllers/helpers.rb +2 -0
  39. data/lib/devise/controllers/rememberable.rb +2 -0
  40. data/lib/devise/controllers/scoped_views.rb +2 -0
  41. data/lib/devise/controllers/sign_in_out.rb +6 -1
  42. data/lib/devise/controllers/store_location.rb +25 -7
  43. data/lib/devise/controllers/url_helpers.rb +2 -0
  44. data/lib/devise/delegator.rb +2 -0
  45. data/lib/devise/encryptor.rb +2 -0
  46. data/lib/devise/failure_app.rb +14 -12
  47. data/lib/devise/hooks/activatable.rb +2 -0
  48. data/lib/devise/hooks/csrf_cleaner.rb +2 -0
  49. data/lib/devise/hooks/forgetable.rb +2 -0
  50. data/lib/devise/hooks/lockable.rb +6 -1
  51. data/lib/devise/hooks/proxy.rb +2 -0
  52. data/lib/devise/hooks/rememberable.rb +2 -0
  53. data/lib/devise/hooks/timeoutable.rb +2 -0
  54. data/lib/devise/hooks/trackable.rb +2 -0
  55. data/lib/devise/mailers/helpers.rb +6 -3
  56. data/lib/devise/mapping.rb +2 -0
  57. data/lib/devise/models/authenticatable.rb +4 -2
  58. data/lib/devise/models/confirmable.rb +53 -17
  59. data/lib/devise/models/database_authenticatable.rb +40 -4
  60. data/lib/devise/models/lockable.rb +8 -2
  61. data/lib/devise/models/omniauthable.rb +2 -0
  62. data/lib/devise/models/recoverable.rb +26 -9
  63. data/lib/devise/models/registerable.rb +2 -0
  64. data/lib/devise/models/rememberable.rb +4 -2
  65. data/lib/devise/models/timeoutable.rb +2 -0
  66. data/lib/devise/models/trackable.rb +7 -0
  67. data/lib/devise/models/validatable.rb +10 -3
  68. data/lib/devise/models.rb +3 -1
  69. data/lib/devise/modules.rb +2 -0
  70. data/lib/devise/omniauth/config.rb +2 -0
  71. data/lib/devise/omniauth/url_helpers.rb +2 -0
  72. data/lib/devise/omniauth.rb +2 -0
  73. data/lib/devise/orm/active_record.rb +2 -0
  74. data/lib/devise/orm/mongoid.rb +2 -0
  75. data/lib/devise/parameter_filter.rb +2 -0
  76. data/lib/devise/parameter_sanitizer.rb +2 -0
  77. data/lib/devise/rails/routes.rb +3 -1
  78. data/lib/devise/rails/warden_compat.rb +2 -0
  79. data/lib/devise/rails.rb +3 -5
  80. data/lib/devise/secret_key_finder.rb +25 -0
  81. data/lib/devise/strategies/authenticatable.rb +2 -0
  82. data/lib/devise/strategies/base.rb +2 -0
  83. data/lib/devise/strategies/database_authenticatable.rb +2 -0
  84. data/lib/devise/strategies/rememberable.rb +2 -0
  85. data/lib/devise/test/controller_helpers.rb +4 -1
  86. data/lib/devise/test/integration_helpers.rb +2 -0
  87. data/lib/devise/test_helpers.rb +3 -1
  88. data/lib/devise/time_inflector.rb +2 -0
  89. data/lib/devise/token_generator.rb +2 -0
  90. data/lib/devise/version.rb +3 -1
  91. data/lib/devise.rb +17 -2
  92. data/lib/generators/active_record/devise_generator.rb +15 -2
  93. data/lib/generators/active_record/templates/migration.rb +3 -1
  94. data/lib/generators/active_record/templates/migration_existing.rb +2 -0
  95. data/lib/generators/devise/controllers_generator.rb +2 -0
  96. data/lib/generators/devise/devise_generator.rb +4 -2
  97. data/lib/generators/devise/install_generator.rb +2 -0
  98. data/lib/generators/devise/orm_helpers.rb +7 -1
  99. data/lib/generators/devise/views_generator.rb +7 -8
  100. data/lib/generators/mongoid/devise_generator.rb +2 -0
  101. data/lib/generators/templates/controllers/confirmations_controller.rb +2 -0
  102. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +2 -0
  103. data/lib/generators/templates/controllers/passwords_controller.rb +2 -0
  104. data/lib/generators/templates/controllers/registrations_controller.rb +4 -2
  105. data/lib/generators/templates/controllers/sessions_controller.rb +3 -1
  106. data/lib/generators/templates/controllers/unlocks_controller.rb +2 -0
  107. data/lib/generators/templates/devise.rb +10 -1
  108. data/lib/generators/templates/markerb/email_changed.markerb +7 -0
  109. data/lib/generators/templates/markerb/password_change.markerb +2 -2
  110. data/test/controllers/custom_registrations_controller_test.rb +2 -0
  111. data/test/controllers/custom_strategy_test.rb +2 -0
  112. data/test/controllers/helper_methods_test.rb +2 -0
  113. data/test/controllers/helpers_test.rb +5 -3
  114. data/test/controllers/inherited_controller_i18n_messages_test.rb +2 -0
  115. data/test/controllers/internal_helpers_test.rb +2 -0
  116. data/test/controllers/load_hooks_controller_test.rb +2 -0
  117. data/test/controllers/passwords_controller_test.rb +2 -0
  118. data/test/controllers/sessions_controller_test.rb +2 -0
  119. data/test/controllers/url_helpers_test.rb +2 -0
  120. data/test/delegator_test.rb +2 -0
  121. data/test/devise_test.rb +2 -0
  122. data/test/failure_app_test.rb +2 -0
  123. data/test/generators/active_record_generator_test.rb +47 -0
  124. data/test/generators/controllers_generator_test.rb +2 -0
  125. data/test/generators/devise_generator_test.rb +2 -0
  126. data/test/generators/install_generator_test.rb +2 -0
  127. data/test/generators/mongoid_generator_test.rb +2 -0
  128. data/test/generators/views_generator_test.rb +2 -0
  129. data/test/helpers/devise_helper_test.rb +2 -0
  130. data/test/integration/authenticatable_test.rb +10 -2
  131. data/test/integration/confirmable_test.rb +2 -0
  132. data/test/integration/database_authenticatable_test.rb +2 -0
  133. data/test/integration/http_authenticatable_test.rb +8 -0
  134. data/test/integration/lockable_test.rb +5 -3
  135. data/test/integration/mounted_engine_test.rb +2 -0
  136. data/test/integration/omniauthable_test.rb +13 -0
  137. data/test/integration/recoverable_test.rb +2 -0
  138. data/test/integration/registerable_test.rb +2 -0
  139. data/test/integration/rememberable_test.rb +9 -1
  140. data/test/integration/timeoutable_test.rb +2 -0
  141. data/test/integration/trackable_test.rb +7 -0
  142. data/test/mailers/confirmation_instructions_test.rb +2 -0
  143. data/test/mailers/email_changed_test.rb +132 -0
  144. data/test/mailers/mailer_test.rb +20 -0
  145. data/test/mailers/reset_password_instructions_test.rb +2 -0
  146. data/test/mailers/unlock_instructions_test.rb +2 -0
  147. data/test/mapping_test.rb +2 -0
  148. data/test/models/authenticatable_test.rb +2 -0
  149. data/test/models/confirmable_test.rb +30 -0
  150. data/test/models/database_authenticatable_test.rb +15 -1
  151. data/test/models/lockable_test.rb +2 -0
  152. data/test/models/omniauthable_test.rb +2 -0
  153. data/test/models/recoverable_test.rb +13 -1
  154. data/test/models/registerable_test.rb +2 -0
  155. data/test/models/rememberable_test.rb +2 -0
  156. data/test/models/serializable_test.rb +6 -0
  157. data/test/models/timeoutable_test.rb +2 -0
  158. data/test/models/trackable_test.rb +21 -0
  159. data/test/models/validatable_test.rb +4 -2
  160. data/test/models_test.rb +2 -0
  161. data/test/omniauth/config_test.rb +11 -7
  162. data/test/omniauth/url_helpers_test.rb +2 -0
  163. data/test/orm/active_record.rb +9 -2
  164. data/test/orm/mongoid.rb +3 -1
  165. data/test/parameter_sanitizer_test.rb +2 -0
  166. data/test/rails_app/app/active_record/admin.rb +2 -0
  167. data/test/rails_app/app/active_record/shim.rb +2 -0
  168. data/test/rails_app/app/active_record/user.rb +14 -1
  169. data/test/rails_app/app/active_record/user_on_engine.rb +2 -0
  170. data/test/rails_app/app/active_record/user_on_main_app.rb +2 -0
  171. data/test/rails_app/app/active_record/user_with_validations.rb +12 -0
  172. data/test/rails_app/app/active_record/user_without_email.rb +2 -0
  173. data/test/rails_app/app/controllers/admins/sessions_controller.rb +2 -0
  174. data/test/rails_app/app/controllers/admins_controller.rb +2 -0
  175. data/test/rails_app/app/controllers/application_controller.rb +2 -0
  176. data/test/rails_app/app/controllers/application_with_fake_engine.rb +2 -0
  177. data/test/rails_app/app/controllers/custom/registrations_controller.rb +2 -0
  178. data/test/rails_app/app/controllers/home_controller.rb +3 -1
  179. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +2 -0
  180. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +2 -0
  181. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +3 -1
  182. data/test/rails_app/app/controllers/users_controller.rb +5 -3
  183. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  184. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +2 -0
  185. data/test/rails_app/app/mailers/users/mailer.rb +2 -0
  186. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +2 -0
  187. data/test/rails_app/app/mongoid/admin.rb +2 -0
  188. data/test/rails_app/app/mongoid/shim.rb +2 -0
  189. data/test/rails_app/app/mongoid/user.rb +11 -0
  190. data/test/rails_app/app/mongoid/user_on_engine.rb +2 -0
  191. data/test/rails_app/app/mongoid/user_on_main_app.rb +2 -0
  192. data/test/rails_app/app/mongoid/user_with_validations.rb +37 -0
  193. data/test/rails_app/app/mongoid/user_without_email.rb +2 -0
  194. data/test/rails_app/config/application.rb +6 -2
  195. data/test/rails_app/config/boot.rb +16 -3
  196. data/test/rails_app/config/environment.rb +2 -0
  197. data/test/rails_app/config/environments/development.rb +2 -0
  198. data/test/rails_app/config/environments/production.rb +2 -0
  199. data/test/rails_app/config/environments/test.rb +2 -0
  200. data/test/rails_app/config/initializers/backtrace_silencers.rb +2 -0
  201. data/test/rails_app/config/initializers/devise.rb +2 -0
  202. data/test/rails_app/config/initializers/inflections.rb +2 -0
  203. data/test/rails_app/config/initializers/secret_token.rb +2 -0
  204. data/test/rails_app/config/initializers/session_store.rb +2 -0
  205. data/test/rails_app/config/routes.rb +2 -0
  206. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +2 -0
  207. data/test/rails_app/db/schema.rb +2 -0
  208. data/test/rails_app/lib/shared_admin.rb +7 -1
  209. data/test/rails_app/lib/shared_user.rb +2 -0
  210. data/test/rails_app/lib/shared_user_without_email.rb +2 -0
  211. data/test/rails_app/lib/shared_user_without_omniauth.rb +2 -0
  212. data/test/rails_test.rb +2 -0
  213. data/test/routes_test.rb +7 -5
  214. data/test/secret_key_finder_test.rb +97 -0
  215. data/test/support/action_controller/record_identifier.rb +2 -0
  216. data/test/support/assertions.rb +2 -0
  217. data/test/support/helpers.rb +6 -0
  218. data/test/support/http_method_compatibility.rb +2 -0
  219. data/test/support/integration.rb +3 -0
  220. data/test/support/webrat/integrations/rails.rb +2 -0
  221. data/test/test/controller_helpers_test.rb +16 -1
  222. data/test/test/integration_helpers_test.rb +2 -0
  223. data/test/test_helper.rb +2 -0
  224. data/test/test_models.rb +2 -0
  225. metadata +23 -5
data/test/routes_test.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  ExpectedRoutingError = MiniTest::Assertion
@@ -203,7 +205,7 @@ class CustomizedRoutingTest < ActionController::TestCase
203
205
 
204
206
  test 'map with format false for sessions' do
205
207
  expected_params = {controller: 'devise/sessions', action: 'new'}
206
- expected_params[:format] = false if Devise.rails5?
208
+ expected_params[:format] = false if Devise::Test.rails5?
207
209
 
208
210
  assert_recognizes(expected_params, {path: '/htmlonly_admin/sign_in', method: :get})
209
211
  assert_raise ExpectedRoutingError do
@@ -213,7 +215,7 @@ class CustomizedRoutingTest < ActionController::TestCase
213
215
 
214
216
  test 'map with format false for passwords' do
215
217
  expected_params = {controller: 'devise/passwords', action: 'create'}
216
- expected_params[:format] = false if Devise.rails5?
218
+ expected_params[:format] = false if Devise::Test.rails5?
217
219
 
218
220
  assert_recognizes(expected_params, {path: '/htmlonly_admin/password', method: :post})
219
221
  assert_raise ExpectedRoutingError do
@@ -223,7 +225,7 @@ class CustomizedRoutingTest < ActionController::TestCase
223
225
 
224
226
  test 'map with format false for registrations' do
225
227
  expected_params = {controller: 'devise/registrations', action: 'new'}
226
- expected_params[:format] = false if Devise.rails5?
228
+ expected_params[:format] = false if Devise::Test.rails5?
227
229
 
228
230
  assert_recognizes(expected_params, {path: '/htmlonly_admin/sign_up', method: :get})
229
231
  assert_raise ExpectedRoutingError do
@@ -233,7 +235,7 @@ class CustomizedRoutingTest < ActionController::TestCase
233
235
 
234
236
  test 'map with format false for confirmations' do
235
237
  expected_params = {controller: 'devise/confirmations', action: 'show'}
236
- expected_params[:format] = false if Devise.rails5?
238
+ expected_params[:format] = false if Devise::Test.rails5?
237
239
 
238
240
  assert_recognizes(expected_params, {path: '/htmlonly_users/confirmation', method: :get})
239
241
  assert_raise ExpectedRoutingError do
@@ -243,7 +245,7 @@ class CustomizedRoutingTest < ActionController::TestCase
243
245
 
244
246
  test 'map with format false for unlocks' do
245
247
  expected_params = {controller: 'devise/unlocks', action: 'show'}
246
- expected_params[:format] = false if Devise.rails5?
248
+ expected_params[:format] = false if Devise::Test.rails5?
247
249
 
248
250
  assert_recognizes(expected_params, {path: '/htmlonly_users/unlock', method: :get})
249
251
  assert_raise ExpectedRoutingError do
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class Rails52Credentials
6
+ def credentials
7
+ OpenStruct.new(secret_key_base: 'credentials')
8
+ end
9
+ end
10
+
11
+ class Rails52Secrets
12
+ def credentials
13
+ OpenStruct.new(secret_key_base: nil)
14
+ end
15
+
16
+ def secrets
17
+ OpenStruct.new(secret_key_base: 'secrets')
18
+ end
19
+ end
20
+
21
+ class Rails52Config
22
+ def credentials
23
+ OpenStruct.new(secret_key_base: nil)
24
+ end
25
+
26
+ def secrets
27
+ OpenStruct.new(secret_key_base: nil)
28
+ end
29
+
30
+ def config
31
+ OpenStruct.new(secret_key_base: 'config')
32
+ end
33
+ end
34
+
35
+ class Rails41Secrets
36
+ def secrets
37
+ OpenStruct.new(secret_key_base: 'secrets')
38
+ end
39
+
40
+ def config
41
+ OpenStruct.new(secret_key_base: nil)
42
+ end
43
+ end
44
+
45
+ class Rails41Config
46
+ def secrets
47
+ OpenStruct.new(secret_key_base: nil)
48
+ end
49
+
50
+ def config
51
+ OpenStruct.new(secret_key_base: 'config')
52
+ end
53
+ end
54
+
55
+ class Rails40Config
56
+ def config
57
+ OpenStruct.new(secret_key_base: 'config')
58
+ end
59
+ end
60
+
61
+ class SecretKeyFinderTest < ActiveSupport::TestCase
62
+ test "rails 5.2 uses credentials when they're available" do
63
+ secret_key_finder = Devise::SecretKeyFinder.new(Rails52Credentials.new)
64
+
65
+ assert_equal 'credentials', secret_key_finder.find
66
+ end
67
+
68
+ test "rails 5.2 uses secrets when credentials are empty" do
69
+ secret_key_finder = Devise::SecretKeyFinder.new(Rails52Secrets.new)
70
+
71
+ assert_equal 'secrets', secret_key_finder.find
72
+ end
73
+
74
+ test "rails 5.2 uses config when secrets are empty" do
75
+ secret_key_finder = Devise::SecretKeyFinder.new(Rails52Config.new)
76
+
77
+ assert_equal 'config', secret_key_finder.find
78
+ end
79
+
80
+ test "rails 4.1 uses secrets" do
81
+ secret_key_finder = Devise::SecretKeyFinder.new(Rails41Secrets.new)
82
+
83
+ assert_equal 'secrets', secret_key_finder.find
84
+ end
85
+
86
+ test "rails 4.1 uses config when secrets are empty" do
87
+ secret_key_finder = Devise::SecretKeyFinder.new(Rails41Config.new)
88
+
89
+ assert_equal 'config', secret_key_finder.find
90
+ end
91
+
92
+ test "rails 4.0 uses config" do
93
+ secret_key_finder = Devise::SecretKeyFinder.new(Rails40Config.new)
94
+
95
+ assert_equal 'config', secret_key_finder.find
96
+ end
97
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Since webrat uses ActionController::RecordIdentifier class that was moved to
2
4
  # ActionView namespace in Rails 4.1+
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/test_case'
2
4
 
3
5
  class ActiveSupport::TestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/test_case'
2
4
 
3
5
  class ActiveSupport::TestCase
@@ -50,6 +52,10 @@ class ActiveSupport::TestCase
50
52
  UserWithoutEmail.create!(valid_attributes(attributes))
51
53
  end
52
54
 
55
+ def create_user_with_validations(attributes={})
56
+ UserWithValidations.create!(valid_attributes(attributes))
57
+ end
58
+
53
59
  # Execute the block setting the given values and restoring old values after
54
60
  # the block is executed.
55
61
  def swap(object, new_values)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  class IntegrationTest < ActionDispatch::IntegrationTest
3
5
  # %w( get post patch put head delete xml_http_request
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'action_dispatch/testing/integration'
2
4
 
3
5
  class ActionDispatch::IntegrationTest
@@ -17,6 +19,7 @@ class ActionDispatch::IntegrationTest
17
19
  user.update_attribute(:confirmation_sent_at, options[:confirmation_sent_at]) if options[:confirmation_sent_at]
18
20
  user.confirm unless options[:confirm] == false
19
21
  user.lock_access! if options[:locked] == true
22
+ User.validations_performed = false
20
23
  user
21
24
  end
22
25
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'webrat/core/elements/form'
2
4
  require 'action_dispatch/testing/integration'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class TestControllerHelpersTest < Devise::ControllerTestCase
@@ -98,6 +100,11 @@ class TestControllerHelpersTest < Devise::ControllerTestCase
98
100
  assert_equal response.body, "<html><body>You are being <a href=\"http://test.host/users/sign_in\">redirected</a>.</body></html>"
99
101
  end
100
102
 
103
+ test "returns the content type of a failure app" do
104
+ get :index, params: { format: :xml }
105
+ assert response.content_type.include?('application/xml')
106
+ end
107
+
101
108
  test "defined Warden after_authentication callback should not be called when sign_in is called" do
102
109
  begin
103
110
  Warden::Manager.after_authentication do |user, auth, opts|
@@ -163,7 +170,15 @@ class TestControllerHelpersTest < Devise::ControllerTestCase
163
170
 
164
171
  test "creates a new warden proxy if the request object has changed" do
165
172
  old_warden_proxy = warden
166
- @request = Devise.rails5? ? ActionController::TestRequest.create : ActionController::TestRequest.new
173
+
174
+ @request = if Devise::Test.rails51? || Devise::Test.rails52?
175
+ ActionController::TestRequest.create(Class.new) # needs a "controller class"
176
+ elsif Devise::Test.rails5?
177
+ ActionController::TestRequest.create
178
+ else
179
+ ActionController::TestRequest.new
180
+ end
181
+
167
182
  new_warden_proxy = warden
168
183
 
169
184
  assert_not_equal old_warden_proxy, new_warden_proxy
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class TestIntegrationsHelpersTest < Devise::IntegrationTest
data/test/test_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ENV["RAILS_ENV"] = "test"
2
4
  DEVISE_ORM = (ENV["DEVISE_ORM"] || :active_record).to_sym
3
5
 
data/test/test_models.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Configurable < User
2
4
  devise :database_authenticatable, :confirmable, :rememberable, :timeoutable, :lockable,
3
5
  stretches: 15, pepper: 'abcdef', allow_unconfirmed_access_for: 5.days,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - José Valim
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-07-01 00:00:00.000000000 Z
12
+ date: 2018-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: warden
@@ -62,7 +62,7 @@ dependencies:
62
62
  version: 4.1.0
63
63
  - - "<"
64
64
  - !ruby/object:Gem::Version
65
- version: '5.1'
65
+ version: '6.0'
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,7 +72,7 @@ dependencies:
72
72
  version: 4.1.0
73
73
  - - "<"
74
74
  - !ruby/object:Gem::Version
75
- version: '5.1'
75
+ version: '6.0'
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: responders
78
78
  requirement: !ruby/object:Gem::Requirement
@@ -101,6 +101,7 @@ files:
101
101
  - CONTRIBUTING.md
102
102
  - Gemfile
103
103
  - Gemfile.lock
104
+ - ISSUE_TEMPLATE.md
104
105
  - MIT-LICENSE
105
106
  - README.md
106
107
  - Rakefile
@@ -115,6 +116,7 @@ files:
115
116
  - app/mailers/devise/mailer.rb
116
117
  - app/views/devise/confirmations/new.html.erb
117
118
  - app/views/devise/mailer/confirmation_instructions.html.erb
119
+ - app/views/devise/mailer/email_changed.html.erb
118
120
  - app/views/devise/mailer/password_change.html.erb
119
121
  - app/views/devise/mailer/reset_password_instructions.html.erb
120
122
  - app/views/devise/mailer/unlock_instructions.html.erb
@@ -133,6 +135,10 @@ files:
133
135
  - gemfiles/Gemfile.rails-4.1-stable.lock
134
136
  - gemfiles/Gemfile.rails-4.2-stable
135
137
  - gemfiles/Gemfile.rails-4.2-stable.lock
138
+ - gemfiles/Gemfile.rails-5.0-stable
139
+ - gemfiles/Gemfile.rails-5.0-stable.lock
140
+ - gemfiles/Gemfile.rails-5.2-rc1
141
+ - gemfiles/Gemfile.rails-5.2-rc1.lock
136
142
  - guides/bug_report_templates/integration_test.rb
137
143
  - lib/devise.rb
138
144
  - lib/devise/controllers/helpers.rb
@@ -177,6 +183,7 @@ files:
177
183
  - lib/devise/rails.rb
178
184
  - lib/devise/rails/routes.rb
179
185
  - lib/devise/rails/warden_compat.rb
186
+ - lib/devise/secret_key_finder.rb
180
187
  - lib/devise/strategies/authenticatable.rb
181
188
  - lib/devise/strategies/base.rb
182
189
  - lib/devise/strategies/database_authenticatable.rb
@@ -206,6 +213,7 @@ files:
206
213
  - lib/generators/templates/controllers/unlocks_controller.rb
207
214
  - lib/generators/templates/devise.rb
208
215
  - lib/generators/templates/markerb/confirmation_instructions.markerb
216
+ - lib/generators/templates/markerb/email_changed.markerb
209
217
  - lib/generators/templates/markerb/password_change.markerb
210
218
  - lib/generators/templates/markerb/reset_password_instructions.markerb
211
219
  - lib/generators/templates/markerb/unlock_instructions.markerb
@@ -249,6 +257,8 @@ files:
249
257
  - test/integration/timeoutable_test.rb
250
258
  - test/integration/trackable_test.rb
251
259
  - test/mailers/confirmation_instructions_test.rb
260
+ - test/mailers/email_changed_test.rb
261
+ - test/mailers/mailer_test.rb
252
262
  - test/mailers/reset_password_instructions_test.rb
253
263
  - test/mailers/unlock_instructions_test.rb
254
264
  - test/mapping_test.rb
@@ -276,6 +286,7 @@ files:
276
286
  - test/rails_app/app/active_record/user.rb
277
287
  - test/rails_app/app/active_record/user_on_engine.rb
278
288
  - test/rails_app/app/active_record/user_on_main_app.rb
289
+ - test/rails_app/app/active_record/user_with_validations.rb
279
290
  - test/rails_app/app/active_record/user_without_email.rb
280
291
  - test/rails_app/app/controllers/admins/sessions_controller.rb
281
292
  - test/rails_app/app/controllers/admins_controller.rb
@@ -296,6 +307,7 @@ files:
296
307
  - test/rails_app/app/mongoid/user.rb
297
308
  - test/rails_app/app/mongoid/user_on_engine.rb
298
309
  - test/rails_app/app/mongoid/user_on_main_app.rb
310
+ - test/rails_app/app/mongoid/user_with_validations.rb
299
311
  - test/rails_app/app/mongoid/user_without_email.rb
300
312
  - test/rails_app/app/views/admins/index.html.erb
301
313
  - test/rails_app/app/views/admins/sessions/new.html.erb
@@ -338,6 +350,7 @@ files:
338
350
  - test/rails_app/public/favicon.ico
339
351
  - test/rails_test.rb
340
352
  - test/routes_test.rb
353
+ - test/secret_key_finder_test.rb
341
354
  - test/support/action_controller/record_identifier.rb
342
355
  - test/support/assertions.rb
343
356
  - test/support/helpers.rb
@@ -370,7 +383,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
370
383
  version: '0'
371
384
  requirements: []
372
385
  rubyforge_project:
373
- rubygems_version: 2.5.1
386
+ rubygems_version: 2.7.3
374
387
  signing_key:
375
388
  specification_version: 4
376
389
  summary: Flexible authentication solution for Rails with Warden
@@ -408,6 +421,8 @@ test_files:
408
421
  - test/integration/timeoutable_test.rb
409
422
  - test/integration/trackable_test.rb
410
423
  - test/mailers/confirmation_instructions_test.rb
424
+ - test/mailers/email_changed_test.rb
425
+ - test/mailers/mailer_test.rb
411
426
  - test/mailers/reset_password_instructions_test.rb
412
427
  - test/mailers/unlock_instructions_test.rb
413
428
  - test/mapping_test.rb
@@ -435,6 +450,7 @@ test_files:
435
450
  - test/rails_app/app/active_record/user.rb
436
451
  - test/rails_app/app/active_record/user_on_engine.rb
437
452
  - test/rails_app/app/active_record/user_on_main_app.rb
453
+ - test/rails_app/app/active_record/user_with_validations.rb
438
454
  - test/rails_app/app/active_record/user_without_email.rb
439
455
  - test/rails_app/app/controllers/admins/sessions_controller.rb
440
456
  - test/rails_app/app/controllers/admins_controller.rb
@@ -455,6 +471,7 @@ test_files:
455
471
  - test/rails_app/app/mongoid/user.rb
456
472
  - test/rails_app/app/mongoid/user_on_engine.rb
457
473
  - test/rails_app/app/mongoid/user_on_main_app.rb
474
+ - test/rails_app/app/mongoid/user_with_validations.rb
458
475
  - test/rails_app/app/mongoid/user_without_email.rb
459
476
  - test/rails_app/app/views/admins/index.html.erb
460
477
  - test/rails_app/app/views/admins/sessions/new.html.erb
@@ -497,6 +514,7 @@ test_files:
497
514
  - test/rails_app/public/favicon.ico
498
515
  - test/rails_test.rb
499
516
  - test/routes_test.rb
517
+ - test/secret_key_finder_test.rb
500
518
  - test/support/action_controller/record_identifier.rb
501
519
  - test/support/assertions.rb
502
520
  - test/support/helpers.rb