devise 4.4.3 → 4.7.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.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -4
  3. data/MIT-LICENSE +2 -1
  4. data/README.md +96 -59
  5. data/app/controllers/devise/passwords_controller.rb +1 -0
  6. data/app/controllers/devise/registrations_controller.rb +26 -8
  7. data/app/controllers/devise_controller.rb +3 -3
  8. data/app/helpers/devise_helper.rb +21 -18
  9. data/app/mailers/devise/mailer.rb +5 -5
  10. data/app/views/devise/confirmations/new.html.erb +1 -1
  11. data/app/views/devise/passwords/edit.html.erb +3 -3
  12. data/app/views/devise/passwords/new.html.erb +1 -1
  13. data/app/views/devise/registrations/edit.html.erb +4 -4
  14. data/app/views/devise/registrations/new.html.erb +3 -3
  15. data/app/views/devise/sessions/new.html.erb +3 -3
  16. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  17. data/app/views/devise/shared/_links.html.erb +7 -7
  18. data/app/views/devise/unlocks/new.html.erb +1 -1
  19. data/config/locales/en.yml +3 -2
  20. data/lib/devise.rb +4 -4
  21. data/lib/devise/controllers/helpers.rb +8 -8
  22. data/lib/devise/controllers/sign_in_out.rb +6 -3
  23. data/lib/devise/controllers/url_helpers.rb +1 -1
  24. data/lib/devise/failure_app.rb +25 -5
  25. data/lib/devise/hooks/timeoutable.rb +2 -2
  26. data/lib/devise/mapping.rb +1 -1
  27. data/lib/devise/models/authenticatable.rb +44 -45
  28. data/lib/devise/models/confirmable.rb +18 -3
  29. data/lib/devise/models/database_authenticatable.rb +50 -12
  30. data/lib/devise/models/lockable.rb +3 -3
  31. data/lib/devise/models/recoverable.rb +2 -2
  32. data/lib/devise/models/registerable.rb +2 -0
  33. data/lib/devise/models/rememberable.rb +1 -1
  34. data/lib/devise/models/trackable.rb +9 -2
  35. data/lib/devise/models/validatable.rb +1 -1
  36. data/lib/devise/parameter_filter.rb +2 -0
  37. data/lib/devise/parameter_sanitizer.rb +13 -1
  38. data/lib/devise/rails/routes.rb +6 -6
  39. data/lib/devise/secret_key_finder.rb +2 -0
  40. data/lib/devise/strategies/authenticatable.rb +1 -1
  41. data/lib/devise/strategies/database_authenticatable.rb +6 -1
  42. data/lib/devise/test/controller_helpers.rb +4 -2
  43. data/lib/devise/test/integration_helpers.rb +1 -1
  44. data/lib/devise/version.rb +1 -1
  45. data/lib/generators/active_record/devise_generator.rb +9 -9
  46. data/lib/generators/devise/controllers_generator.rb +1 -1
  47. data/lib/generators/devise/devise_generator.rb +1 -1
  48. data/lib/generators/devise/install_generator.rb +1 -5
  49. data/lib/generators/devise/orm_helpers.rb +2 -2
  50. data/lib/generators/devise/views_generator.rb +1 -1
  51. data/lib/generators/mongoid/devise_generator.rb +5 -5
  52. data/lib/generators/templates/README +9 -1
  53. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +1 -1
  54. data/lib/generators/templates/devise.rb +34 -6
  55. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +5 -1
  56. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +10 -2
  57. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +4 -1
  58. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +11 -3
  59. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +11 -3
  60. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +7 -2
  61. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +4 -1
  62. metadata +7 -312
  63. data/.gitignore +0 -10
  64. data/.travis.yml +0 -68
  65. data/.yardopts +0 -9
  66. data/CODE_OF_CONDUCT.md +0 -22
  67. data/CONTRIBUTING.md +0 -79
  68. data/Gemfile +0 -39
  69. data/Gemfile.lock +0 -193
  70. data/ISSUE_TEMPLATE.md +0 -19
  71. data/Rakefile +0 -37
  72. data/bin/test +0 -13
  73. data/devise.gemspec +0 -28
  74. data/devise.png +0 -0
  75. data/gemfiles/Gemfile.rails-4.1-stable +0 -32
  76. data/gemfiles/Gemfile.rails-4.1-stable.lock +0 -171
  77. data/gemfiles/Gemfile.rails-4.2-stable +0 -32
  78. data/gemfiles/Gemfile.rails-4.2-stable.lock +0 -192
  79. data/gemfiles/Gemfile.rails-5.0-stable +0 -33
  80. data/gemfiles/Gemfile.rails-5.0-stable.lock +0 -192
  81. data/gemfiles/Gemfile.rails-5.2-rc1 +0 -26
  82. data/gemfiles/Gemfile.rails-5.2-rc1.lock +0 -201
  83. data/guides/bug_report_templates/integration_test.rb +0 -106
  84. data/test/controllers/custom_registrations_controller_test.rb +0 -42
  85. data/test/controllers/custom_strategy_test.rb +0 -66
  86. data/test/controllers/helper_methods_test.rb +0 -24
  87. data/test/controllers/helpers_test.rb +0 -318
  88. data/test/controllers/inherited_controller_i18n_messages_test.rb +0 -53
  89. data/test/controllers/internal_helpers_test.rb +0 -129
  90. data/test/controllers/load_hooks_controller_test.rb +0 -21
  91. data/test/controllers/passwords_controller_test.rb +0 -34
  92. data/test/controllers/sessions_controller_test.rb +0 -108
  93. data/test/controllers/url_helpers_test.rb +0 -67
  94. data/test/delegator_test.rb +0 -21
  95. data/test/devise_test.rb +0 -109
  96. data/test/failure_app_test.rb +0 -340
  97. data/test/generators/active_record_generator_test.rb +0 -130
  98. data/test/generators/controllers_generator_test.rb +0 -50
  99. data/test/generators/devise_generator_test.rb +0 -41
  100. data/test/generators/install_generator_test.rb +0 -26
  101. data/test/generators/mongoid_generator_test.rb +0 -25
  102. data/test/generators/views_generator_test.rb +0 -105
  103. data/test/helpers/devise_helper_test.rb +0 -51
  104. data/test/integration/authenticatable_test.rb +0 -706
  105. data/test/integration/confirmable_test.rb +0 -326
  106. data/test/integration/database_authenticatable_test.rb +0 -97
  107. data/test/integration/http_authenticatable_test.rb +0 -114
  108. data/test/integration/lockable_test.rb +0 -242
  109. data/test/integration/mounted_engine_test.rb +0 -38
  110. data/test/integration/omniauthable_test.rb +0 -148
  111. data/test/integration/recoverable_test.rb +0 -349
  112. data/test/integration/registerable_test.rb +0 -365
  113. data/test/integration/rememberable_test.rb +0 -219
  114. data/test/integration/timeoutable_test.rb +0 -186
  115. data/test/integration/trackable_test.rb +0 -99
  116. data/test/mailers/confirmation_instructions_test.rb +0 -117
  117. data/test/mailers/email_changed_test.rb +0 -132
  118. data/test/mailers/mailer_test.rb +0 -20
  119. data/test/mailers/reset_password_instructions_test.rb +0 -98
  120. data/test/mailers/unlock_instructions_test.rb +0 -93
  121. data/test/mapping_test.rb +0 -136
  122. data/test/models/authenticatable_test.rb +0 -25
  123. data/test/models/confirmable_test.rb +0 -549
  124. data/test/models/database_authenticatable_test.rb +0 -283
  125. data/test/models/lockable_test.rb +0 -352
  126. data/test/models/omniauthable_test.rb +0 -9
  127. data/test/models/recoverable_test.rb +0 -263
  128. data/test/models/registerable_test.rb +0 -9
  129. data/test/models/rememberable_test.rb +0 -184
  130. data/test/models/serializable_test.rb +0 -60
  131. data/test/models/timeoutable_test.rb +0 -53
  132. data/test/models/trackable_test.rb +0 -62
  133. data/test/models/validatable_test.rb +0 -121
  134. data/test/models_test.rb +0 -155
  135. data/test/omniauth/config_test.rb +0 -61
  136. data/test/omniauth/url_helpers_test.rb +0 -53
  137. data/test/orm/active_record.rb +0 -24
  138. data/test/orm/mongoid.rb +0 -15
  139. data/test/parameter_sanitizer_test.rb +0 -77
  140. data/test/rails_app/Rakefile +0 -6
  141. data/test/rails_app/app/active_record/admin.rb +0 -8
  142. data/test/rails_app/app/active_record/shim.rb +0 -4
  143. data/test/rails_app/app/active_record/user.rb +0 -20
  144. data/test/rails_app/app/active_record/user_on_engine.rb +0 -9
  145. data/test/rails_app/app/active_record/user_on_main_app.rb +0 -9
  146. data/test/rails_app/app/active_record/user_with_validations.rb +0 -12
  147. data/test/rails_app/app/active_record/user_without_email.rb +0 -10
  148. data/test/rails_app/app/controllers/admins/sessions_controller.rb +0 -8
  149. data/test/rails_app/app/controllers/admins_controller.rb +0 -8
  150. data/test/rails_app/app/controllers/application_controller.rb +0 -13
  151. data/test/rails_app/app/controllers/application_with_fake_engine.rb +0 -32
  152. data/test/rails_app/app/controllers/custom/registrations_controller.rb +0 -33
  153. data/test/rails_app/app/controllers/home_controller.rb +0 -31
  154. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +0 -4
  155. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +0 -4
  156. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +0 -16
  157. data/test/rails_app/app/controllers/users_controller.rb +0 -33
  158. data/test/rails_app/app/helpers/application_helper.rb +0 -5
  159. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +0 -5
  160. data/test/rails_app/app/mailers/users/mailer.rb +0 -5
  161. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +0 -6
  162. data/test/rails_app/app/mongoid/admin.rb +0 -31
  163. data/test/rails_app/app/mongoid/shim.rb +0 -25
  164. data/test/rails_app/app/mongoid/user.rb +0 -50
  165. data/test/rails_app/app/mongoid/user_on_engine.rb +0 -41
  166. data/test/rails_app/app/mongoid/user_on_main_app.rb +0 -41
  167. data/test/rails_app/app/mongoid/user_with_validations.rb +0 -37
  168. data/test/rails_app/app/mongoid/user_without_email.rb +0 -35
  169. data/test/rails_app/app/views/admins/index.html.erb +0 -1
  170. data/test/rails_app/app/views/admins/sessions/new.html.erb +0 -2
  171. data/test/rails_app/app/views/home/admin_dashboard.html.erb +0 -1
  172. data/test/rails_app/app/views/home/index.html.erb +0 -1
  173. data/test/rails_app/app/views/home/join.html.erb +0 -1
  174. data/test/rails_app/app/views/home/private.html.erb +0 -1
  175. data/test/rails_app/app/views/home/user_dashboard.html.erb +0 -1
  176. data/test/rails_app/app/views/layouts/application.html.erb +0 -24
  177. data/test/rails_app/app/views/users/edit_form.html.erb +0 -1
  178. data/test/rails_app/app/views/users/index.html.erb +0 -1
  179. data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +0 -1
  180. data/test/rails_app/app/views/users/sessions/new.html.erb +0 -1
  181. data/test/rails_app/bin/bundle +0 -3
  182. data/test/rails_app/bin/rails +0 -4
  183. data/test/rails_app/bin/rake +0 -4
  184. data/test/rails_app/config.ru +0 -4
  185. data/test/rails_app/config/application.rb +0 -48
  186. data/test/rails_app/config/boot.rb +0 -27
  187. data/test/rails_app/config/database.yml +0 -18
  188. data/test/rails_app/config/environment.rb +0 -7
  189. data/test/rails_app/config/environments/development.rb +0 -32
  190. data/test/rails_app/config/environments/production.rb +0 -88
  191. data/test/rails_app/config/environments/test.rb +0 -47
  192. data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -9
  193. data/test/rails_app/config/initializers/devise.rb +0 -182
  194. data/test/rails_app/config/initializers/inflections.rb +0 -4
  195. data/test/rails_app/config/initializers/secret_token.rb +0 -5
  196. data/test/rails_app/config/initializers/session_store.rb +0 -3
  197. data/test/rails_app/config/routes.rb +0 -128
  198. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +0 -77
  199. data/test/rails_app/db/schema.rb +0 -57
  200. data/test/rails_app/lib/shared_admin.rb +0 -23
  201. data/test/rails_app/lib/shared_user.rb +0 -32
  202. data/test/rails_app/lib/shared_user_without_email.rb +0 -28
  203. data/test/rails_app/lib/shared_user_without_omniauth.rb +0 -15
  204. data/test/rails_app/public/404.html +0 -26
  205. data/test/rails_app/public/422.html +0 -26
  206. data/test/rails_app/public/500.html +0 -26
  207. data/test/rails_app/public/favicon.ico +0 -0
  208. data/test/rails_test.rb +0 -11
  209. data/test/routes_test.rb +0 -281
  210. data/test/secret_key_finder_test.rb +0 -97
  211. data/test/support/action_controller/record_identifier.rb +0 -12
  212. data/test/support/assertions.rb +0 -30
  213. data/test/support/helpers.rb +0 -83
  214. data/test/support/http_method_compatibility.rb +0 -53
  215. data/test/support/integration.rb +0 -95
  216. data/test/support/locale/en.yml +0 -8
  217. data/test/support/mongoid.yml +0 -6
  218. data/test/support/webrat/integrations/rails.rb +0 -35
  219. data/test/test/controller_helpers_test.rb +0 -193
  220. data/test/test/integration_helpers_test.rb +0 -34
  221. data/test/test_helper.rb +0 -36
  222. data/test/test_models.rb +0 -35
@@ -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 %>!
@@ -1 +0,0 @@
1
- Special user view
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
- load Gem.bin_path('bundler', 'bundle')
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
3
- require_relative '../config/boot'
4
- require 'rails/commands'
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require_relative '../config/boot'
3
- require 'rake'
4
- Rake.application.run
@@ -1,4 +0,0 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require ::File.expand_path('../config/environment', __FILE__)
4
- run RailsApp::Application
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require File.expand_path('../boot', __FILE__)
4
-
5
- require "action_controller/railtie"
6
- require "action_mailer/railtie"
7
- require "rails/test_unit/railtie"
8
-
9
- Bundler.require :default, DEVISE_ORM
10
-
11
- begin
12
- require "#{DEVISE_ORM}/railtie"
13
- rescue LoadError
14
- end
15
-
16
- require "devise"
17
-
18
- module RailsApp
19
- class Application < Rails::Application
20
- # Add additional load paths for your own custom dirs
21
- config.autoload_paths.reject!{ |p| p =~ /\/app\/(\w+)$/ && !%w(controllers helpers mailers views).include?($1) }
22
- config.autoload_paths += ["#{config.root}/app/#{DEVISE_ORM}"]
23
-
24
- # Configure generators values. Many other options are available, be sure to check the documentation.
25
- # config.generators do |g|
26
- # g.orm :active_record
27
- # g.template_engine :erb
28
- # g.test_framework :test_unit, fixture: true
29
- # end
30
-
31
- # Configure sensitive parameters which will be filtered from the log file.
32
- config.filter_parameters << :password
33
- # config.assets.enabled = false
34
-
35
- config.action_mailer.default_url_options = { host: "localhost", port: 3000 }
36
- rails_version = Gem::Version.new(Rails.version)
37
- if DEVISE_ORM == :active_record &&
38
- rails_version >= Gem::Version.new('4.2.0') &&
39
- rails_version < Gem::Version.new('5.1.0')
40
- config.active_record.raise_in_transactional_callbacks = true
41
- end
42
-
43
- # This was used to break devise in some situations
44
- config.to_prepare do
45
- Devise::SessionsController.layout "application"
46
- end
47
- end
48
- end