devise 4.5.0 → 4.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (195) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +30 -1
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +18 -0
  5. data/app/controllers/devise/passwords_controller.rb +1 -0
  6. data/app/controllers/devise/registrations_controller.rb +25 -7
  7. data/app/helpers/devise_helper.rb +10 -19
  8. data/app/views/devise/confirmations/new.html.erb +1 -1
  9. data/app/views/devise/passwords/edit.html.erb +1 -1
  10. data/app/views/devise/passwords/new.html.erb +1 -1
  11. data/app/views/devise/registrations/edit.html.erb +1 -1
  12. data/app/views/devise/registrations/new.html.erb +1 -1
  13. data/app/views/devise/sessions/new.html.erb +2 -2
  14. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  15. data/app/views/devise/shared/_links.html.erb +7 -7
  16. data/app/views/devise/unlocks/new.html.erb +1 -1
  17. data/config/locales/en.yml +1 -0
  18. data/lib/devise.rb +4 -0
  19. data/lib/devise/controllers/helpers.rb +1 -1
  20. data/lib/devise/failure_app.rb +28 -3
  21. data/lib/devise/models/authenticatable.rb +7 -15
  22. data/lib/devise/models/confirmable.rb +4 -1
  23. data/lib/devise/models/database_authenticatable.rb +41 -6
  24. data/lib/devise/models/lockable.rb +2 -2
  25. data/lib/devise/models/registerable.rb +2 -0
  26. data/lib/devise/strategies/database_authenticatable.rb +3 -0
  27. data/lib/devise/test/controller_helpers.rb +1 -1
  28. data/lib/devise/version.rb +1 -1
  29. data/lib/generators/active_record/devise_generator.rb +4 -4
  30. data/lib/generators/devise/controllers_generator.rb +1 -1
  31. data/lib/generators/templates/devise.rb +12 -3
  32. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +1 -1
  33. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +1 -1
  34. metadata +5 -305
  35. data/.gitignore +0 -10
  36. data/.travis.yml +0 -69
  37. data/.yardopts +0 -9
  38. data/CODE_OF_CONDUCT.md +0 -22
  39. data/CONTRIBUTING.md +0 -79
  40. data/Gemfile +0 -39
  41. data/Gemfile.lock +0 -202
  42. data/ISSUE_TEMPLATE.md +0 -19
  43. data/Rakefile +0 -37
  44. data/bin/test +0 -13
  45. data/devise.gemspec +0 -28
  46. data/devise.png +0 -0
  47. data/gemfiles/Gemfile.rails-4.1-stable +0 -32
  48. data/gemfiles/Gemfile.rails-4.1-stable.lock +0 -171
  49. data/gemfiles/Gemfile.rails-4.2-stable +0 -32
  50. data/gemfiles/Gemfile.rails-4.2-stable.lock +0 -192
  51. data/gemfiles/Gemfile.rails-5.0-stable +0 -33
  52. data/gemfiles/Gemfile.rails-5.0-stable.lock +0 -192
  53. data/gemfiles/Gemfile.rails-5.2-rc1 +0 -26
  54. data/gemfiles/Gemfile.rails-5.2-rc1.lock +0 -201
  55. data/guides/bug_report_templates/integration_test.rb +0 -106
  56. data/test/controllers/custom_registrations_controller_test.rb +0 -42
  57. data/test/controllers/custom_strategy_test.rb +0 -66
  58. data/test/controllers/helper_methods_test.rb +0 -24
  59. data/test/controllers/helpers_test.rb +0 -318
  60. data/test/controllers/inherited_controller_i18n_messages_test.rb +0 -53
  61. data/test/controllers/internal_helpers_test.rb +0 -129
  62. data/test/controllers/load_hooks_controller_test.rb +0 -21
  63. data/test/controllers/passwords_controller_test.rb +0 -34
  64. data/test/controllers/sessions_controller_test.rb +0 -108
  65. data/test/controllers/url_helpers_test.rb +0 -67
  66. data/test/delegator_test.rb +0 -21
  67. data/test/devise_test.rb +0 -109
  68. data/test/failure_app_test.rb +0 -346
  69. data/test/generators/active_record_generator_test.rb +0 -130
  70. data/test/generators/controllers_generator_test.rb +0 -50
  71. data/test/generators/devise_generator_test.rb +0 -41
  72. data/test/generators/install_generator_test.rb +0 -26
  73. data/test/generators/mongoid_generator_test.rb +0 -25
  74. data/test/generators/views_generator_test.rb +0 -105
  75. data/test/helpers/devise_helper_test.rb +0 -51
  76. data/test/integration/authenticatable_test.rb +0 -706
  77. data/test/integration/confirmable_test.rb +0 -326
  78. data/test/integration/database_authenticatable_test.rb +0 -110
  79. data/test/integration/http_authenticatable_test.rb +0 -114
  80. data/test/integration/lockable_test.rb +0 -242
  81. data/test/integration/mounted_engine_test.rb +0 -38
  82. data/test/integration/omniauthable_test.rb +0 -148
  83. data/test/integration/recoverable_test.rb +0 -349
  84. data/test/integration/registerable_test.rb +0 -365
  85. data/test/integration/rememberable_test.rb +0 -219
  86. data/test/integration/timeoutable_test.rb +0 -186
  87. data/test/integration/trackable_test.rb +0 -99
  88. data/test/mailers/confirmation_instructions_test.rb +0 -117
  89. data/test/mailers/email_changed_test.rb +0 -132
  90. data/test/mailers/mailer_test.rb +0 -20
  91. data/test/mailers/reset_password_instructions_test.rb +0 -98
  92. data/test/mailers/unlock_instructions_test.rb +0 -93
  93. data/test/mapping_test.rb +0 -136
  94. data/test/models/authenticatable_test.rb +0 -25
  95. data/test/models/confirmable_test.rb +0 -549
  96. data/test/models/database_authenticatable_test.rb +0 -290
  97. data/test/models/lockable_test.rb +0 -352
  98. data/test/models/omniauthable_test.rb +0 -9
  99. data/test/models/recoverable_test.rb +0 -263
  100. data/test/models/registerable_test.rb +0 -9
  101. data/test/models/rememberable_test.rb +0 -184
  102. data/test/models/serializable_test.rb +0 -60
  103. data/test/models/timeoutable_test.rb +0 -53
  104. data/test/models/trackable_test.rb +0 -80
  105. data/test/models/validatable_test.rb +0 -121
  106. data/test/models_test.rb +0 -155
  107. data/test/omniauth/config_test.rb +0 -61
  108. data/test/omniauth/url_helpers_test.rb +0 -53
  109. data/test/orm/active_record.rb +0 -24
  110. data/test/orm/mongoid.rb +0 -15
  111. data/test/parameter_sanitizer_test.rb +0 -105
  112. data/test/rails_app/Rakefile +0 -6
  113. data/test/rails_app/app/active_record/admin.rb +0 -8
  114. data/test/rails_app/app/active_record/shim.rb +0 -4
  115. data/test/rails_app/app/active_record/user.rb +0 -20
  116. data/test/rails_app/app/active_record/user_on_engine.rb +0 -9
  117. data/test/rails_app/app/active_record/user_on_main_app.rb +0 -9
  118. data/test/rails_app/app/active_record/user_with_validations.rb +0 -12
  119. data/test/rails_app/app/active_record/user_without_email.rb +0 -10
  120. data/test/rails_app/app/controllers/admins/sessions_controller.rb +0 -8
  121. data/test/rails_app/app/controllers/admins_controller.rb +0 -8
  122. data/test/rails_app/app/controllers/application_controller.rb +0 -13
  123. data/test/rails_app/app/controllers/application_with_fake_engine.rb +0 -32
  124. data/test/rails_app/app/controllers/custom/registrations_controller.rb +0 -33
  125. data/test/rails_app/app/controllers/home_controller.rb +0 -31
  126. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +0 -4
  127. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +0 -4
  128. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +0 -16
  129. data/test/rails_app/app/controllers/users_controller.rb +0 -33
  130. data/test/rails_app/app/helpers/application_helper.rb +0 -5
  131. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +0 -5
  132. data/test/rails_app/app/mailers/users/mailer.rb +0 -5
  133. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +0 -6
  134. data/test/rails_app/app/mongoid/admin.rb +0 -31
  135. data/test/rails_app/app/mongoid/shim.rb +0 -25
  136. data/test/rails_app/app/mongoid/user.rb +0 -50
  137. data/test/rails_app/app/mongoid/user_on_engine.rb +0 -41
  138. data/test/rails_app/app/mongoid/user_on_main_app.rb +0 -41
  139. data/test/rails_app/app/mongoid/user_with_validations.rb +0 -37
  140. data/test/rails_app/app/mongoid/user_without_email.rb +0 -35
  141. data/test/rails_app/app/views/admins/index.html.erb +0 -1
  142. data/test/rails_app/app/views/admins/sessions/new.html.erb +0 -2
  143. data/test/rails_app/app/views/home/admin_dashboard.html.erb +0 -1
  144. data/test/rails_app/app/views/home/index.html.erb +0 -1
  145. data/test/rails_app/app/views/home/join.html.erb +0 -1
  146. data/test/rails_app/app/views/home/private.html.erb +0 -1
  147. data/test/rails_app/app/views/home/user_dashboard.html.erb +0 -1
  148. data/test/rails_app/app/views/layouts/application.html.erb +0 -24
  149. data/test/rails_app/app/views/users/edit_form.html.erb +0 -1
  150. data/test/rails_app/app/views/users/index.html.erb +0 -1
  151. data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +0 -1
  152. data/test/rails_app/app/views/users/sessions/new.html.erb +0 -1
  153. data/test/rails_app/bin/bundle +0 -3
  154. data/test/rails_app/bin/rails +0 -4
  155. data/test/rails_app/bin/rake +0 -4
  156. data/test/rails_app/config.ru +0 -4
  157. data/test/rails_app/config/application.rb +0 -48
  158. data/test/rails_app/config/boot.rb +0 -27
  159. data/test/rails_app/config/database.yml +0 -18
  160. data/test/rails_app/config/environment.rb +0 -7
  161. data/test/rails_app/config/environments/development.rb +0 -32
  162. data/test/rails_app/config/environments/production.rb +0 -88
  163. data/test/rails_app/config/environments/test.rb +0 -47
  164. data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -9
  165. data/test/rails_app/config/initializers/devise.rb +0 -187
  166. data/test/rails_app/config/initializers/inflections.rb +0 -4
  167. data/test/rails_app/config/initializers/secret_token.rb +0 -5
  168. data/test/rails_app/config/initializers/session_store.rb +0 -3
  169. data/test/rails_app/config/routes.rb +0 -128
  170. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +0 -77
  171. data/test/rails_app/db/schema.rb +0 -57
  172. data/test/rails_app/lib/lazy_load_test_module.rb +0 -5
  173. data/test/rails_app/lib/shared_admin.rb +0 -23
  174. data/test/rails_app/lib/shared_user.rb +0 -32
  175. data/test/rails_app/lib/shared_user_without_email.rb +0 -28
  176. data/test/rails_app/lib/shared_user_without_omniauth.rb +0 -15
  177. data/test/rails_app/public/404.html +0 -26
  178. data/test/rails_app/public/422.html +0 -26
  179. data/test/rails_app/public/500.html +0 -26
  180. data/test/rails_app/public/favicon.ico +0 -0
  181. data/test/rails_test.rb +0 -11
  182. data/test/routes_test.rb +0 -281
  183. data/test/secret_key_finder_test.rb +0 -121
  184. data/test/support/action_controller/record_identifier.rb +0 -12
  185. data/test/support/assertions.rb +0 -30
  186. data/test/support/helpers.rb +0 -83
  187. data/test/support/http_method_compatibility.rb +0 -53
  188. data/test/support/integration.rb +0 -95
  189. data/test/support/locale/en.yml +0 -8
  190. data/test/support/mongoid.yml +0 -6
  191. data/test/support/webrat/integrations/rails.rb +0 -35
  192. data/test/test/controller_helpers_test.rb +0 -193
  193. data/test/test/integration_helpers_test.rb +0 -34
  194. data/test/test_helper.rb +0 -36
  195. data/test/test_models.rb +0 -35
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class HomeController < ApplicationController
4
- def index
5
- end
6
-
7
- def private
8
- end
9
-
10
- def user_dashboard
11
- end
12
-
13
- def admin_dashboard
14
- end
15
-
16
- def join
17
- end
18
-
19
- def set
20
- session["devise.foo_bar"] = "something"
21
- head :ok
22
- end
23
-
24
- def unauthenticated
25
- if Devise::Test.rails5?
26
- render body: "unauthenticated", status: :unauthorized
27
- else
28
- render text: "unauthenticated", status: :unauthorized
29
- end
30
- end
31
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Publisher::RegistrationsController < ApplicationController
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Publisher::SessionsController < ApplicationController
4
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
4
- def facebook
5
- data = request.respond_to?(:get_header) ? request.get_header("omniauth.auth") : request.env["omniauth.auth"]
6
- session["devise.facebook_data"] = data["extra"]["user_hash"]
7
- render json: data
8
- end
9
-
10
- def sign_in_facebook
11
- user = User.to_adapter.find_first(email: 'user@test.com')
12
- user.remember_me = true
13
- sign_in user
14
- render (Devise::Test.rails5? ? :body : :text) => ""
15
- end
16
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class UsersController < ApplicationController
4
- prepend_before_action :current_user, only: :exhibit
5
- before_action :authenticate_user!, except: [:accept, :exhibit]
6
- respond_to :html, :xml
7
-
8
- def index
9
- user_session[:cart] = "Cart"
10
- respond_with(current_user)
11
- end
12
-
13
- def edit_form
14
- user_session['last_request_at'] = params.fetch(:last_request_at, 31.minutes.ago.utc)
15
- end
16
-
17
- def update_form
18
- render (Devise::Test.rails5? ? :body : :text) => 'Update'
19
- end
20
-
21
- def accept
22
- @current_user = current_user
23
- end
24
-
25
- def exhibit
26
- render (Devise::Test.rails5? ? :body : :text) => current_user ? "User is authenticated" : "User is not authenticated"
27
- end
28
-
29
- def expire
30
- user_session['last_request_at'] = 31.minutes.ago.utc
31
- render (Devise::Test.rails5? ? :body : :text) => 'User will be expired on next request'
32
- end
33
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Methods added to this helper will be available to all templates in the application.
4
- module ApplicationHelper
5
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Users::FromProcMailer < Devise::Mailer
4
- default from: proc { 'custom@example.com' }
5
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Users::Mailer < Devise::Mailer
4
- default from: 'custom@example.com'
5
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Users::ReplyToMailer < Devise::Mailer
4
- default from: 'custom@example.com'
5
- default reply_to: 'custom_reply_to@example.com'
6
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_admin'
4
-
5
- class Admin
6
- include Mongoid::Document
7
- include Shim
8
- include SharedAdmin
9
-
10
- ## Database authenticatable
11
- field :email, type: String
12
- field :encrypted_password, type: String
13
-
14
- ## Recoverable
15
- field :reset_password_token, type: String
16
- field :reset_password_sent_at, type: Time
17
-
18
- ## Rememberable
19
- field :remember_created_at, type: Time
20
-
21
- ## Confirmable
22
- field :confirmation_token, type: String
23
- field :confirmed_at, type: Time
24
- field :confirmation_sent_at, type: Time
25
- field :unconfirmed_email, type: String # Only if using reconfirmable
26
-
27
- ## Lockable
28
- field :locked_at, type: Time
29
-
30
- field :active, type: Boolean, default: false
31
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Shim
4
- extend ::ActiveSupport::Concern
5
-
6
- included do
7
- include ::Mongoid::Timestamps
8
- field :created_at, type: DateTime
9
- end
10
-
11
- module ClassMethods
12
- def order(attribute)
13
- asc(attribute)
14
- end
15
-
16
- def find_by_email(email)
17
- find_by(email: email)
18
- end
19
- end
20
-
21
- # overwrite equality (because some devise tests use this for asserting model equality)
22
- def ==(other)
23
- other.is_a?(self.class) && _id == other._id
24
- end
25
- end
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_user'
4
-
5
- class User
6
- include Mongoid::Document
7
- include Shim
8
- include SharedUser
9
-
10
- field :username, type: String
11
- field :facebook_token, type: String
12
-
13
- ## Database authenticatable
14
- field :email, type: String, default: ""
15
- field :encrypted_password, type: String, default: ""
16
-
17
- ## Recoverable
18
- field :reset_password_token, type: String
19
- field :reset_password_sent_at, type: Time
20
-
21
- ## Rememberable
22
- field :remember_created_at, type: Time
23
-
24
- ## Trackable
25
- field :sign_in_count, type: Integer, default: 0
26
- field :current_sign_in_at, type: Time
27
- field :last_sign_in_at, type: Time
28
- field :current_sign_in_ip, type: String
29
- field :last_sign_in_ip, type: String
30
-
31
- ## Confirmable
32
- field :confirmation_token, type: String
33
- field :confirmed_at, type: Time
34
- field :confirmation_sent_at, type: Time
35
- # field :unconfirmed_email, type: String # Only if using reconfirmable
36
-
37
- ## Lockable
38
- field :failed_attempts, type: Integer, default: 0 # Only if lock strategy is :failed_attempts
39
- field :unlock_token, type: String # Only if unlock strategy is :email or :both
40
- field :locked_at, type: Time
41
-
42
- cattr_accessor :validations_performed
43
-
44
- after_validation :after_validation_callback
45
-
46
- def after_validation_callback
47
- # used to check in our test if the validations were called
48
- @@validations_performed = true
49
- end
50
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_user_without_omniauth'
4
-
5
- class UserOnEngine
6
- include Mongoid::Document
7
- include Shim
8
- include SharedUserWithoutOmniauth
9
-
10
- field :username, type: String
11
- field :facebook_token, type: String
12
-
13
- ## Database authenticatable
14
- field :email, type: String, default: ""
15
- field :encrypted_password, type: String, default: ""
16
-
17
- ## Recoverable
18
- field :reset_password_token, type: String
19
- field :reset_password_sent_at, type: Time
20
-
21
- ## Rememberable
22
- field :remember_created_at, type: Time
23
-
24
- ## Trackable
25
- field :sign_in_count, type: Integer, default: 0
26
- field :current_sign_in_at, type: Time
27
- field :last_sign_in_at, type: Time
28
- field :current_sign_in_ip, type: String
29
- field :last_sign_in_ip, type: String
30
-
31
- ## Confirmable
32
- field :confirmation_token, type: String
33
- field :confirmed_at, type: Time
34
- field :confirmation_sent_at, type: Time
35
- # field :unconfirmed_email, type: String # Only if using reconfirmable
36
-
37
- ## Lockable
38
- field :failed_attempts, type: Integer, default: 0 # Only if lock strategy is :failed_attempts
39
- field :unlock_token, type: String # Only if unlock strategy is :email or :both
40
- field :locked_at, type: Time
41
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_user_without_omniauth'
4
-
5
- class UserOnMainApp
6
- include Mongoid::Document
7
- include Shim
8
- include SharedUserWithoutOmniauth
9
-
10
- field :username, type: String
11
- field :facebook_token, type: String
12
-
13
- ## Database authenticatable
14
- field :email, type: String, default: ""
15
- field :encrypted_password, type: String, default: ""
16
-
17
- ## Recoverable
18
- field :reset_password_token, type: String
19
- field :reset_password_sent_at, type: Time
20
-
21
- ## Rememberable
22
- field :remember_created_at, type: Time
23
-
24
- ## Trackable
25
- field :sign_in_count, type: Integer, default: 0
26
- field :current_sign_in_at, type: Time
27
- field :last_sign_in_at, type: Time
28
- field :current_sign_in_ip, type: String
29
- field :last_sign_in_ip, type: String
30
-
31
- ## Confirmable
32
- field :confirmation_token, type: String
33
- field :confirmed_at, type: Time
34
- field :confirmation_sent_at, type: Time
35
- # field :unconfirmed_email, type: String # Only if using reconfirmable
36
-
37
- ## Lockable
38
- field :failed_attempts, type: Integer, default: 0 # Only if lock strategy is :failed_attempts
39
- field :unlock_token, type: String # Only if unlock strategy is :email or :both
40
- field :locked_at, type: Time
41
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shared_user"
4
-
5
- class UserWithValidations
6
- include Mongoid::Document
7
- include Shim
8
- include SharedUser
9
-
10
- field :username, type: String
11
- field :facebook_token, type: String
12
-
13
- ## Database authenticatable
14
- field :email, type: String, default: ""
15
- field :encrypted_password, type: String, default: ""
16
-
17
- ## Recoverable
18
- field :reset_password_token, type: String
19
- field :reset_password_sent_at, type: Time
20
-
21
- ## Rememberable
22
- field :remember_created_at, type: Time
23
-
24
- ## Trackable
25
- field :sign_in_count, type: Integer, default: 0
26
- field :current_sign_in_at, type: Time
27
- field :last_sign_in_at, type: Time
28
- field :current_sign_in_ip, type: String
29
- field :last_sign_in_ip, type: String
30
-
31
- ## Lockable
32
- field :failed_attempts, type: Integer, default: 0 # Only if lock strategy is :failed_attempts
33
- field :unlock_token, type: String # Only if unlock strategy is :email or :both
34
- field :locked_at, type: Time
35
-
36
- validates :email, presence: true
37
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shared_user_without_email"
4
-
5
- class UserWithoutEmail
6
- include Mongoid::Document
7
- include Shim
8
- include SharedUserWithoutEmail
9
-
10
- field :username, type: String
11
- field :facebook_token, type: String
12
-
13
- ## Database authenticatable
14
- field :email, type: String, default: ""
15
- field :encrypted_password, type: String, default: ""
16
-
17
- ## Recoverable
18
- field :reset_password_token, type: String
19
- field :reset_password_sent_at, type: Time
20
-
21
- ## Rememberable
22
- field :remember_created_at, type: Time
23
-
24
- ## Trackable
25
- field :sign_in_count, type: Integer, default: 0
26
- field :current_sign_in_at, type: Time
27
- field :last_sign_in_at, type: Time
28
- field :current_sign_in_ip, type: String
29
- field :last_sign_in_ip, type: String
30
-
31
- ## Lockable
32
- field :failed_attempts, type: Integer, default: 0 # Only if lock strategy is :failed_attempts
33
- field :unlock_token, type: String # Only if unlock strategy is :email or :both
34
- field :locked_at, type: Time
35
- end
@@ -1 +0,0 @@
1
- Welcome Admin!
@@ -1,2 +0,0 @@
1
- Welcome to "sessions/new" view!
2
- <%= render file: "devise/sessions/new" %>
@@ -1,24 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html>
4
- <head>
5
- <title>Devise Test App</title>
6
- </head>
7
- <body>
8
- <div id="container">
9
- <%- flash.each do |name, msg| -%>
10
- <%= content_tag :div, msg, id: "flash_#{name}" %>
11
- <%- end -%>
12
-
13
- <% if user_signed_in? -%>
14
- <p>Hello User <%= current_user.email %>! You are signed in!</p>
15
- <% end -%>
16
-
17
- <% if admin_signed_in? -%>
18
- <p>Hello Admin <%= current_admin.email %>! You are signed in!</p>
19
- <% end -%>
20
-
21
- <%= yield %>
22
- </div>
23
- </body>
24
- </html>
@@ -1 +0,0 @@
1
- <%= button_to 'Update', update_form_user_path(current_user), method: 'put' %>
@@ -1 +0,0 @@
1
- Welcome User #<%= current_user.id %>!