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,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class OmniAuthConfigTest < ActiveSupport::TestCase
6
- class MyStrategy
7
- include OmniAuth::Strategy
8
- end
9
-
10
- test 'strategy_name returns provider if no options given' do
11
- config = Devise::OmniAuth::Config.new :facebook, [{}]
12
- assert_equal :facebook, config.strategy_name
13
- end
14
-
15
- test 'strategy_name returns provider if no name option are given' do
16
- config = Devise::OmniAuth::Config.new :facebook, [{ other: :option }]
17
- assert_equal :facebook, config.strategy_name
18
- end
19
-
20
- test 'returns name option when have a name' do
21
- config = Devise::OmniAuth::Config.new :facebook, [{ name: :github }]
22
- assert_equal :github, config.strategy_name
23
- end
24
-
25
- test "finds contrib strategies" do
26
- config = Devise::OmniAuth::Config.new :facebook, [{}]
27
- assert_equal OmniAuth::Strategies::Facebook, config.strategy_class
28
- end
29
-
30
- class NamedTestStrategy
31
- include OmniAuth::Strategy
32
- option :name, :the_one
33
- end
34
-
35
- test "finds the strategy in OmniAuth's list by name" do
36
- config = Devise::OmniAuth::Config.new :the_one, [{}]
37
- assert_equal NamedTestStrategy, config.strategy_class
38
- end
39
-
40
- class UnNamedTestStrategy
41
- include OmniAuth::Strategy
42
- end
43
-
44
- test "finds the strategy in OmniAuth's list by class name" do
45
- config = Devise::OmniAuth::Config.new :un_named_test_strategy, [{}]
46
- assert_equal UnNamedTestStrategy, config.strategy_class
47
- end
48
-
49
- test 'raises an error if strategy cannot be found' do
50
- config = Devise::OmniAuth::Config.new :my_other_strategy, [{}]
51
- assert_raise Devise::OmniAuth::StrategyNotFound do
52
- config.strategy_class
53
- end
54
- end
55
-
56
- test 'allows the user to define a custom require path' do
57
- config = Devise::OmniAuth::Config.new :my_strategy, [{strategy_class: MyStrategy}]
58
- config_class = config.strategy_class
59
- assert_equal MyStrategy, config_class
60
- end
61
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class OmniAuthRoutesTest < ActionController::TestCase
6
- tests ApplicationController
7
-
8
- def assert_path(action, provider, with_param=true)
9
- # Resource param
10
- assert_equal @controller.send(action, :user, provider),
11
- @controller.send("user_#{provider}_#{action}")
12
-
13
- # With an object
14
- assert_equal @controller.send(action, User.new, provider),
15
- @controller.send("user_#{provider}_#{action}")
16
-
17
- if with_param
18
- # Default url params
19
- assert_equal @controller.send(action, :user, provider, param: 123),
20
- @controller.send("user_#{provider}_#{action}", param: 123)
21
- end
22
- end
23
-
24
- test 'should alias omniauth_callback to mapped user auth_callback' do
25
- assert_path :omniauth_callback_path, :facebook
26
- end
27
-
28
- test 'should alias omniauth_authorize to mapped user auth_authorize' do
29
- assert_path :omniauth_authorize_path, :facebook, false
30
- end
31
-
32
- test 'should generate authorization path' do
33
- assert_match "/users/auth/facebook", @controller.omniauth_authorize_path(:user, :facebook)
34
-
35
- assert_raise NoMethodError do
36
- @controller.omniauth_authorize_path(:user, :github)
37
- end
38
- end
39
-
40
- test 'should generate authorization path for named open_id omniauth' do
41
- assert_match "/users/auth/google", @controller.omniauth_authorize_path(:user, :google)
42
- end
43
-
44
- test 'should generate authorization path with params' do
45
- assert_match "/users/auth/openid?openid_url=http%3A%2F%2Fyahoo.com",
46
- @controller.omniauth_authorize_path(:user, :openid, openid_url: "http://yahoo.com")
47
- end
48
-
49
- test 'should not add a "?" if no param was sent' do
50
- assert_equal "/users/auth/openid",
51
- @controller.omniauth_authorize_path(:user, :openid)
52
- end
53
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ActiveRecord::Migration.verbose = false
4
- ActiveRecord::Base.logger = Logger.new(nil)
5
- ActiveRecord::Base.include_root_in_json = true
6
-
7
- migrate_path = File.expand_path("../../rails_app/db/migrate/", __FILE__)
8
- if Devise::Test.rails52?
9
- ActiveRecord::MigrationContext.new(migrate_path).migrate
10
- else
11
- ActiveRecord::Migrator.migrate(migrate_path)
12
- end
13
-
14
- class ActiveSupport::TestCase
15
- if Devise::Test.rails5?
16
- self.use_transactional_tests = true
17
- else
18
- # Let `after_commit` work with transactional fixtures, however this is not needed for Rails 5.
19
- require 'test_after_commit'
20
- self.use_transactional_fixtures = true
21
- end
22
-
23
- self.use_instantiated_fixtures = false
24
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'mongoid/version'
4
-
5
- Mongoid.configure do |config|
6
- config.load!('test/support/mongoid.yml')
7
- config.use_utc = true
8
- config.include_root_in_json = true
9
- end
10
-
11
- class ActiveSupport::TestCase
12
- setup do
13
- Mongoid.default_session.drop
14
- end
15
- end
@@ -1,77 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
- require 'devise/parameter_sanitizer'
5
-
6
- class ParameterSanitizerTest < ActiveSupport::TestCase
7
- def sanitizer(params)
8
- params = ActionController::Parameters.new(params)
9
- Devise::ParameterSanitizer.new(User, :user, params)
10
- end
11
-
12
- test 'permits the default parameters for sign in' do
13
- sanitizer = sanitizer('user' => { 'email' => 'jose' })
14
- sanitized = sanitizer.sanitize(:sign_in)
15
-
16
- assert_equal({ 'email' => 'jose' }, sanitized)
17
- end
18
-
19
- test 'permits the default parameters for sign up' do
20
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'role' => 'invalid' })
21
- sanitized = sanitizer.sanitize(:sign_up)
22
-
23
- assert_equal({ 'email' => 'jose' }, sanitized)
24
- end
25
-
26
- test 'permits the default parameters for account update' do
27
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'role' => 'invalid' })
28
- sanitized = sanitizer.sanitize(:account_update)
29
-
30
- assert_equal({ 'email' => 'jose' }, sanitized)
31
- end
32
-
33
- test 'permits news parameters for an existing action' do
34
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
35
- sanitizer.permit(:sign_in, keys: [:username])
36
- sanitized = sanitizer.sanitize(:sign_in)
37
-
38
- assert_equal({ 'username' => 'jose' }, sanitized)
39
- end
40
-
41
- test 'permits news parameters for an existing action with a block' do
42
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
43
- sanitizer.permit(:sign_in) do |user|
44
- user.permit(:username)
45
- end
46
-
47
- sanitized = sanitizer.sanitize(:sign_in)
48
-
49
- assert_equal({ 'username' => 'jose' }, sanitized)
50
- end
51
-
52
- test 'permit parameters for new actions' do
53
- sanitizer = sanitizer('user' => { 'email' => 'jose@omglol', 'name' => 'Jose' })
54
- sanitizer.permit(:invite_user, keys: [:email, :name])
55
-
56
- sanitized = sanitizer.sanitize(:invite_user)
57
-
58
- assert_equal({ 'email' => 'jose@omglol', 'name' => 'Jose' }, sanitized)
59
- end
60
-
61
- test 'fails when we do not have any permitted parameters for the action' do
62
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'password' => 'invalid' })
63
-
64
- assert_raise NotImplementedError do
65
- sanitizer.sanitize(:unknown)
66
- end
67
- end
68
-
69
- test 'removes permitted parameters' do
70
- sanitizer = sanitizer('user' => { 'email' => 'jose@omglol', 'username' => 'jose' })
71
-
72
- sanitizer.permit(:sign_in, keys: [:username], except: [:email])
73
- sanitized = sanitizer.sanitize(:sign_in)
74
-
75
- assert_equal({ 'username' => 'jose' }, sanitized)
76
- end
77
- end
@@ -1,6 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path('../config/application', __FILE__)
5
-
6
- Rails.application.load_tasks
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_admin'
4
-
5
- class Admin < ActiveRecord::Base
6
- include Shim
7
- include SharedAdmin
8
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Shim
4
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_user'
4
-
5
- class User < ActiveRecord::Base
6
- include Shim
7
- include SharedUser
8
- include ActiveModel::Serializers::Xml if Devise::Test.rails5?
9
-
10
- validates :sign_in_count, presence: true
11
-
12
- cattr_accessor :validations_performed
13
-
14
- after_validation :after_validation_callback
15
-
16
- def after_validation_callback
17
- # used to check in our test if the validations were called
18
- @@validations_performed = true
19
- end
20
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_user_without_omniauth'
4
-
5
- class UserOnEngine < ActiveRecord::Base
6
- self.table_name = 'users'
7
- include Shim
8
- include SharedUserWithoutOmniauth
9
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_user_without_omniauth'
4
-
5
- class UserOnMainApp < ActiveRecord::Base
6
- self.table_name = 'users'
7
- include Shim
8
- include SharedUserWithoutOmniauth
9
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'shared_user'
4
-
5
- class UserWithValidations < ActiveRecord::Base
6
- self.table_name = 'users'
7
- include Shim
8
- include SharedUser
9
-
10
- validates :email, presence: true
11
- end
12
-
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "shared_user_without_email"
4
-
5
- class UserWithoutEmail < ActiveRecord::Base
6
- self.table_name = 'users'
7
- include Shim
8
- include SharedUserWithoutEmail
9
- end
10
-
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Admins::SessionsController < Devise::SessionsController
4
- def new
5
- flash[:special] = "Welcome to #{controller_path.inspect} controller!"
6
- super
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class AdminsController < ApplicationController
4
- before_action :authenticate_admin!
5
-
6
- def index
7
- end
8
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Filters added to this controller apply to all controllers in the application.
4
- # Likewise, all the methods added will be available for all controllers.
5
-
6
- class ApplicationController < ActionController::Base
7
- protect_from_forgery
8
- before_action :current_user, unless: :devise_controller?
9
- before_action :authenticate_user!, if: :devise_controller?
10
- respond_to(*Mime::SET.map(&:to_sym))
11
-
12
- devise_group :commenter, contains: [:user, :admin]
13
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ApplicationWithFakeEngine < ApplicationController
4
- private
5
-
6
- helper_method :fake_engine
7
- def fake_engine
8
- @fake_engine ||= FakeEngine.new
9
- end
10
- end
11
-
12
- class FakeEngine
13
- def user_on_engine_confirmation_path
14
- '/user_on_engine/confirmation'
15
- end
16
-
17
- def new_user_on_engine_session_path
18
- '/user_on_engine/confirmation/new'
19
- end
20
-
21
- def new_user_on_engine_registration_path
22
- '/user_on_engine/registration/new'
23
- end
24
-
25
- def new_user_on_engine_password_path
26
- '/user_on_engine/password/new'
27
- end
28
-
29
- def new_user_on_engine_unlock_path
30
- '/user_on_engine/unlock/new'
31
- end
32
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Custom::RegistrationsController < Devise::RegistrationsController
4
- def new
5
- super do |resource|
6
- @new_block_called = true
7
- end
8
- end
9
-
10
- def create
11
- super do |resource|
12
- @create_block_called = true
13
- end
14
- end
15
-
16
- def update
17
- super do |resource|
18
- @update_block_called = true
19
- end
20
- end
21
-
22
- def create_block_called?
23
- @create_block_called == true
24
- end
25
-
26
- def update_block_called?
27
- @update_block_called == true
28
- end
29
-
30
- def new_block_called?
31
- @new_block_called == true
32
- end
33
- end
@@ -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