devise 4.1.1 → 4.8.0

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 (255) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +224 -4
  3. data/MIT-LICENSE +2 -1
  4. data/README.md +275 -90
  5. data/app/controllers/devise/confirmations_controller.rb +2 -0
  6. data/app/controllers/devise/omniauth_callbacks_controller.rb +7 -5
  7. data/app/controllers/devise/passwords_controller.rb +3 -0
  8. data/app/controllers/devise/registrations_controller.rb +34 -13
  9. data/app/controllers/devise/sessions_controller.rb +3 -1
  10. data/app/controllers/devise/unlocks_controller.rb +2 -0
  11. data/app/controllers/devise_controller.rb +5 -3
  12. data/app/helpers/devise_helper.rb +23 -18
  13. data/app/mailers/devise/mailer.rb +10 -4
  14. data/app/views/devise/confirmations/new.html.erb +2 -2
  15. data/app/views/devise/mailer/email_changed.html.erb +7 -0
  16. data/app/views/devise/passwords/edit.html.erb +3 -3
  17. data/app/views/devise/passwords/new.html.erb +2 -2
  18. data/app/views/devise/registrations/edit.html.erb +9 -5
  19. data/app/views/devise/registrations/new.html.erb +4 -4
  20. data/app/views/devise/sessions/new.html.erb +4 -4
  21. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  22. data/app/views/devise/shared/_links.html.erb +8 -8
  23. data/app/views/devise/unlocks/new.html.erb +2 -2
  24. data/config/locales/en.yml +5 -2
  25. data/lib/devise.rb +39 -17
  26. data/lib/devise/controllers/helpers.rb +22 -9
  27. data/lib/devise/controllers/rememberable.rb +3 -1
  28. data/lib/devise/controllers/scoped_views.rb +2 -0
  29. data/lib/devise/controllers/sign_in_out.rb +39 -14
  30. data/lib/devise/controllers/store_location.rb +25 -7
  31. data/lib/devise/controllers/url_helpers.rb +3 -1
  32. data/lib/devise/delegator.rb +2 -0
  33. data/lib/devise/encryptor.rb +2 -0
  34. data/lib/devise/failure_app.rb +63 -33
  35. data/lib/devise/hooks/activatable.rb +2 -0
  36. data/lib/devise/hooks/csrf_cleaner.rb +2 -0
  37. data/lib/devise/hooks/forgetable.rb +2 -0
  38. data/lib/devise/hooks/lockable.rb +4 -2
  39. data/lib/devise/hooks/proxy.rb +3 -1
  40. data/lib/devise/hooks/rememberable.rb +2 -0
  41. data/lib/devise/hooks/timeoutable.rb +4 -2
  42. data/lib/devise/hooks/trackable.rb +2 -0
  43. data/lib/devise/mailers/helpers.rb +6 -3
  44. data/lib/devise/mapping.rb +3 -1
  45. data/lib/devise/models.rb +3 -1
  46. data/lib/devise/models/authenticatable.rb +63 -37
  47. data/lib/devise/models/confirmable.rb +79 -22
  48. data/lib/devise/models/database_authenticatable.rb +86 -17
  49. data/lib/devise/models/lockable.rb +17 -3
  50. data/lib/devise/models/omniauthable.rb +2 -0
  51. data/lib/devise/models/recoverable.rb +32 -20
  52. data/lib/devise/models/registerable.rb +4 -0
  53. data/lib/devise/models/rememberable.rb +5 -3
  54. data/lib/devise/models/timeoutable.rb +2 -0
  55. data/lib/devise/models/trackable.rb +15 -1
  56. data/lib/devise/models/validatable.rb +10 -3
  57. data/lib/devise/modules.rb +2 -0
  58. data/lib/devise/omniauth.rb +4 -5
  59. data/lib/devise/omniauth/config.rb +2 -0
  60. data/lib/devise/omniauth/url_helpers.rb +2 -51
  61. data/lib/devise/orm/active_record.rb +5 -1
  62. data/lib/devise/orm/mongoid.rb +6 -2
  63. data/lib/devise/parameter_filter.rb +4 -0
  64. data/lib/devise/parameter_sanitizer.rb +15 -56
  65. data/lib/devise/rails.rb +6 -6
  66. data/lib/devise/rails/deprecated_constant_accessor.rb +39 -0
  67. data/lib/devise/rails/routes.rb +9 -7
  68. data/lib/devise/rails/warden_compat.rb +2 -0
  69. data/lib/devise/secret_key_finder.rb +27 -0
  70. data/lib/devise/strategies/authenticatable.rb +3 -1
  71. data/lib/devise/strategies/base.rb +2 -0
  72. data/lib/devise/strategies/database_authenticatable.rb +8 -1
  73. data/lib/devise/strategies/rememberable.rb +2 -0
  74. data/lib/devise/test/controller_helpers.rb +167 -0
  75. data/lib/devise/test/integration_helpers.rb +63 -0
  76. data/lib/devise/test_helpers.rb +7 -129
  77. data/lib/devise/time_inflector.rb +2 -0
  78. data/lib/devise/token_generator.rb +2 -0
  79. data/lib/devise/version.rb +3 -1
  80. data/lib/generators/active_record/devise_generator.rb +40 -12
  81. data/lib/generators/active_record/templates/migration.rb +3 -1
  82. data/lib/generators/active_record/templates/migration_existing.rb +2 -0
  83. data/lib/generators/devise/controllers_generator.rb +3 -1
  84. data/lib/generators/devise/devise_generator.rb +5 -3
  85. data/lib/generators/devise/install_generator.rb +3 -5
  86. data/lib/generators/devise/orm_helpers.rb +9 -3
  87. data/lib/generators/devise/views_generator.rb +8 -9
  88. data/lib/generators/mongoid/devise_generator.rb +7 -5
  89. data/lib/generators/templates/README +9 -8
  90. data/lib/generators/templates/controllers/confirmations_controller.rb +2 -0
  91. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +3 -1
  92. data/lib/generators/templates/controllers/passwords_controller.rb +2 -0
  93. data/lib/generators/templates/controllers/registrations_controller.rb +4 -2
  94. data/lib/generators/templates/controllers/sessions_controller.rb +3 -1
  95. data/lib/generators/templates/controllers/unlocks_controller.rb +2 -0
  96. data/lib/generators/templates/devise.rb +49 -6
  97. data/lib/generators/templates/markerb/email_changed.markerb +7 -0
  98. data/lib/generators/templates/markerb/password_change.markerb +2 -2
  99. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +5 -1
  100. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +10 -2
  101. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +4 -1
  102. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +11 -3
  103. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +11 -3
  104. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +7 -2
  105. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +4 -1
  106. metadata +16 -297
  107. data/.gitignore +0 -10
  108. data/.travis.yml +0 -44
  109. data/.yardopts +0 -9
  110. data/CODE_OF_CONDUCT.md +0 -22
  111. data/CONTRIBUTING.md +0 -16
  112. data/Gemfile +0 -30
  113. data/Gemfile.lock +0 -182
  114. data/Rakefile +0 -36
  115. data/bin/test +0 -13
  116. data/devise.gemspec +0 -26
  117. data/devise.png +0 -0
  118. data/gemfiles/Gemfile.rails-4.1-stable +0 -30
  119. data/gemfiles/Gemfile.rails-4.1-stable.lock +0 -170
  120. data/gemfiles/Gemfile.rails-4.2-stable +0 -30
  121. data/gemfiles/Gemfile.rails-4.2-stable.lock +0 -192
  122. data/gemfiles/Gemfile.rails-5.0-beta +0 -37
  123. data/gemfiles/Gemfile.rails-5.0-beta.lock +0 -199
  124. data/test/controllers/custom_registrations_controller_test.rb +0 -40
  125. data/test/controllers/custom_strategy_test.rb +0 -64
  126. data/test/controllers/helper_methods_test.rb +0 -22
  127. data/test/controllers/helpers_test.rb +0 -316
  128. data/test/controllers/inherited_controller_i18n_messages_test.rb +0 -51
  129. data/test/controllers/internal_helpers_test.rb +0 -127
  130. data/test/controllers/load_hooks_controller_test.rb +0 -19
  131. data/test/controllers/passwords_controller_test.rb +0 -32
  132. data/test/controllers/sessions_controller_test.rb +0 -106
  133. data/test/controllers/url_helpers_test.rb +0 -65
  134. data/test/delegator_test.rb +0 -19
  135. data/test/devise_test.rb +0 -107
  136. data/test/failure_app_test.rb +0 -320
  137. data/test/generators/active_record_generator_test.rb +0 -83
  138. data/test/generators/controllers_generator_test.rb +0 -48
  139. data/test/generators/devise_generator_test.rb +0 -39
  140. data/test/generators/install_generator_test.rb +0 -24
  141. data/test/generators/mongoid_generator_test.rb +0 -23
  142. data/test/generators/views_generator_test.rb +0 -103
  143. data/test/helpers/devise_helper_test.rb +0 -49
  144. data/test/integration/authenticatable_test.rb +0 -698
  145. data/test/integration/confirmable_test.rb +0 -324
  146. data/test/integration/database_authenticatable_test.rb +0 -95
  147. data/test/integration/http_authenticatable_test.rb +0 -106
  148. data/test/integration/lockable_test.rb +0 -240
  149. data/test/integration/omniauthable_test.rb +0 -135
  150. data/test/integration/recoverable_test.rb +0 -347
  151. data/test/integration/registerable_test.rb +0 -357
  152. data/test/integration/rememberable_test.rb +0 -211
  153. data/test/integration/timeoutable_test.rb +0 -184
  154. data/test/integration/trackable_test.rb +0 -92
  155. data/test/mailers/confirmation_instructions_test.rb +0 -115
  156. data/test/mailers/reset_password_instructions_test.rb +0 -96
  157. data/test/mailers/unlock_instructions_test.rb +0 -91
  158. data/test/mapping_test.rb +0 -134
  159. data/test/models/authenticatable_test.rb +0 -23
  160. data/test/models/confirmable_test.rb +0 -511
  161. data/test/models/database_authenticatable_test.rb +0 -269
  162. data/test/models/lockable_test.rb +0 -350
  163. data/test/models/omniauthable_test.rb +0 -7
  164. data/test/models/recoverable_test.rb +0 -251
  165. data/test/models/registerable_test.rb +0 -7
  166. data/test/models/rememberable_test.rb +0 -169
  167. data/test/models/serializable_test.rb +0 -49
  168. data/test/models/timeoutable_test.rb +0 -51
  169. data/test/models/trackable_test.rb +0 -41
  170. data/test/models/validatable_test.rb +0 -119
  171. data/test/models_test.rb +0 -153
  172. data/test/omniauth/config_test.rb +0 -57
  173. data/test/omniauth/url_helpers_test.rb +0 -51
  174. data/test/orm/active_record.rb +0 -17
  175. data/test/orm/mongoid.rb +0 -13
  176. data/test/parameter_sanitizer_test.rb +0 -131
  177. data/test/rails_app/Rakefile +0 -6
  178. data/test/rails_app/app/active_record/admin.rb +0 -6
  179. data/test/rails_app/app/active_record/shim.rb +0 -2
  180. data/test/rails_app/app/active_record/user.rb +0 -7
  181. data/test/rails_app/app/active_record/user_on_engine.rb +0 -7
  182. data/test/rails_app/app/active_record/user_on_main_app.rb +0 -7
  183. data/test/rails_app/app/active_record/user_without_email.rb +0 -8
  184. data/test/rails_app/app/controllers/admins/sessions_controller.rb +0 -6
  185. data/test/rails_app/app/controllers/admins_controller.rb +0 -6
  186. data/test/rails_app/app/controllers/application_controller.rb +0 -11
  187. data/test/rails_app/app/controllers/application_with_fake_engine.rb +0 -30
  188. data/test/rails_app/app/controllers/custom/registrations_controller.rb +0 -31
  189. data/test/rails_app/app/controllers/home_controller.rb +0 -29
  190. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +0 -2
  191. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +0 -2
  192. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +0 -14
  193. data/test/rails_app/app/controllers/users_controller.rb +0 -31
  194. data/test/rails_app/app/helpers/application_helper.rb +0 -3
  195. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +0 -3
  196. data/test/rails_app/app/mailers/users/mailer.rb +0 -3
  197. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +0 -4
  198. data/test/rails_app/app/mongoid/admin.rb +0 -29
  199. data/test/rails_app/app/mongoid/shim.rb +0 -23
  200. data/test/rails_app/app/mongoid/user.rb +0 -39
  201. data/test/rails_app/app/mongoid/user_on_engine.rb +0 -39
  202. data/test/rails_app/app/mongoid/user_on_main_app.rb +0 -39
  203. data/test/rails_app/app/mongoid/user_without_email.rb +0 -33
  204. data/test/rails_app/app/views/admins/index.html.erb +0 -1
  205. data/test/rails_app/app/views/admins/sessions/new.html.erb +0 -2
  206. data/test/rails_app/app/views/home/admin_dashboard.html.erb +0 -1
  207. data/test/rails_app/app/views/home/index.html.erb +0 -1
  208. data/test/rails_app/app/views/home/join.html.erb +0 -1
  209. data/test/rails_app/app/views/home/private.html.erb +0 -1
  210. data/test/rails_app/app/views/home/user_dashboard.html.erb +0 -1
  211. data/test/rails_app/app/views/layouts/application.html.erb +0 -24
  212. data/test/rails_app/app/views/users/edit_form.html.erb +0 -1
  213. data/test/rails_app/app/views/users/index.html.erb +0 -1
  214. data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +0 -1
  215. data/test/rails_app/app/views/users/sessions/new.html.erb +0 -1
  216. data/test/rails_app/bin/bundle +0 -3
  217. data/test/rails_app/bin/rails +0 -4
  218. data/test/rails_app/bin/rake +0 -4
  219. data/test/rails_app/config.ru +0 -4
  220. data/test/rails_app/config/application.rb +0 -44
  221. data/test/rails_app/config/boot.rb +0 -14
  222. data/test/rails_app/config/database.yml +0 -18
  223. data/test/rails_app/config/environment.rb +0 -5
  224. data/test/rails_app/config/environments/development.rb +0 -30
  225. data/test/rails_app/config/environments/production.rb +0 -84
  226. data/test/rails_app/config/environments/test.rb +0 -46
  227. data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  228. data/test/rails_app/config/initializers/devise.rb +0 -180
  229. data/test/rails_app/config/initializers/inflections.rb +0 -2
  230. data/test/rails_app/config/initializers/secret_token.rb +0 -3
  231. data/test/rails_app/config/initializers/session_store.rb +0 -1
  232. data/test/rails_app/config/routes.rb +0 -126
  233. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +0 -71
  234. data/test/rails_app/db/schema.rb +0 -55
  235. data/test/rails_app/lib/shared_admin.rb +0 -17
  236. data/test/rails_app/lib/shared_user.rb +0 -30
  237. data/test/rails_app/lib/shared_user_without_email.rb +0 -26
  238. data/test/rails_app/lib/shared_user_without_omniauth.rb +0 -13
  239. data/test/rails_app/public/404.html +0 -26
  240. data/test/rails_app/public/422.html +0 -26
  241. data/test/rails_app/public/500.html +0 -26
  242. data/test/rails_app/public/favicon.ico +0 -0
  243. data/test/rails_test.rb +0 -9
  244. data/test/routes_test.rb +0 -279
  245. data/test/support/action_controller/record_identifier.rb +0 -10
  246. data/test/support/assertions.rb +0 -39
  247. data/test/support/helpers.rb +0 -77
  248. data/test/support/http_method_compatibility.rb +0 -51
  249. data/test/support/integration.rb +0 -92
  250. data/test/support/locale/en.yml +0 -8
  251. data/test/support/mongoid.yml +0 -6
  252. data/test/support/webrat/integrations/rails.rb +0 -33
  253. data/test/test_helper.rb +0 -34
  254. data/test/test_helpers_test.rb +0 -178
  255. data/test/test_models.rb +0 -33
@@ -1,17 +0,0 @@
1
- ActiveRecord::Migration.verbose = false
2
- ActiveRecord::Base.logger = Logger.new(nil)
3
- ActiveRecord::Base.include_root_in_json = true
4
-
5
- ActiveRecord::Migrator.migrate(File.expand_path("../../rails_app/db/migrate/", __FILE__))
6
-
7
- class ActiveSupport::TestCase
8
- if Devise.rails5?
9
- self.use_transactional_tests = true
10
- else
11
- # Let `after_commit` work with transactional fixtures, however this is not needed for Rails 5.
12
- require 'test_after_commit'
13
- self.use_transactional_fixtures = true
14
- end
15
-
16
- self.use_instantiated_fixtures = false
17
- end
data/test/orm/mongoid.rb DELETED
@@ -1,13 +0,0 @@
1
- require 'mongoid/version'
2
-
3
- Mongoid.configure do |config|
4
- config.load!('test/support/mongoid.yml')
5
- config.use_utc = true
6
- config.include_root_in_json = true
7
- end
8
-
9
- class ActiveSupport::TestCase
10
- setup do
11
- Mongoid.purge!
12
- end
13
- end
@@ -1,131 +0,0 @@
1
- require 'test_helper'
2
- require 'devise/parameter_sanitizer'
3
-
4
- class ParameterSanitizerTest < ActiveSupport::TestCase
5
- def sanitizer(params)
6
- params = ActionController::Parameters.new(params)
7
- Devise::ParameterSanitizer.new(User, :user, params)
8
- end
9
-
10
- test 'permits the default parameters for sign in' do
11
- sanitizer = sanitizer('user' => { 'email' => 'jose' })
12
- sanitized = sanitizer.sanitize(:sign_in)
13
-
14
- assert_equal({ 'email' => 'jose' }, sanitized)
15
- end
16
-
17
- test 'permits the default parameters for sign up' do
18
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'role' => 'invalid' })
19
- sanitized = sanitizer.sanitize(:sign_up)
20
-
21
- assert_equal({ 'email' => 'jose' }, sanitized)
22
- end
23
-
24
- test 'permits the default parameters for account update' do
25
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'role' => 'invalid' })
26
- sanitized = sanitizer.sanitize(:account_update)
27
-
28
- assert_equal({ 'email' => 'jose' }, sanitized)
29
- end
30
-
31
- test 'permits news parameters for an existing action' do
32
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
33
- sanitizer.permit(:sign_in, keys: [:username])
34
- sanitized = sanitizer.sanitize(:sign_in)
35
-
36
- assert_equal({ 'username' => 'jose' }, sanitized)
37
- end
38
-
39
- test 'permits news parameters for an existing action with a block' do
40
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
41
- sanitizer.permit(:sign_in) do |user|
42
- user.permit(:username)
43
- end
44
-
45
- sanitized = sanitizer.sanitize(:sign_in)
46
-
47
- assert_equal({ 'username' => 'jose' }, sanitized)
48
- end
49
-
50
- test 'permit parameters for new actions' do
51
- sanitizer = sanitizer('user' => { 'email' => 'jose@omglol', 'name' => 'Jose' })
52
- sanitizer.permit(:invite_user, keys: [:email, :name])
53
-
54
- sanitized = sanitizer.sanitize(:invite_user)
55
-
56
- assert_equal({ 'email' => 'jose@omglol', 'name' => 'Jose' }, sanitized)
57
- end
58
-
59
- test 'fails when we do not have any permitted parameters for the action' do
60
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'password' => 'invalid' })
61
-
62
- assert_raise NotImplementedError do
63
- sanitizer.sanitize(:unknown)
64
- end
65
- end
66
-
67
- test 'removes permitted parameters' do
68
- sanitizer = sanitizer('user' => { 'email' => 'jose@omglol', 'username' => 'jose' })
69
-
70
- sanitizer.permit(:sign_in, keys: [:username], except: [:email])
71
- sanitized = sanitizer.sanitize(:sign_in)
72
-
73
- assert_equal({ 'username' => 'jose' }, sanitized)
74
- end
75
- end
76
-
77
- class DeprecatedParameterSanitizerAPITest < ActiveSupport::TestCase
78
- class CustomSanitizer < Devise::ParameterSanitizer
79
- def sign_in
80
- default_params.permit(:username)
81
- end
82
- end
83
-
84
- def sanitizer(params)
85
- params = ActionController::Parameters.new(params)
86
- Devise::ParameterSanitizer.new(User, :user, params)
87
- end
88
-
89
- test 'overriding instance methods have precedence over the default sanitized attributes' do
90
- assert_deprecated do
91
- params = ActionController::Parameters.new(user: { "username" => "jose", "name" => "Jose" })
92
- sanitizer = CustomSanitizer.new(User, :user, params)
93
-
94
- sanitized = sanitizer.sanitize(:sign_in)
95
-
96
- assert_equal({ "username" => "jose" }, sanitized)
97
- end
98
- end
99
-
100
- test 'adding new parameters by mutating the Array' do
101
- assert_deprecated do
102
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
103
- sanitizer.for(:sign_in) << :username
104
- sanitized = sanitizer.sanitize(:sign_in)
105
-
106
- assert_equal({ 'username' => 'jose' }, sanitized)
107
- end
108
- end
109
-
110
- test 'adding new parameters with a block' do
111
- assert_deprecated do
112
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
113
- sanitizer.for(:sign_in) { |user| user.permit(:username) }
114
-
115
- sanitized = sanitizer.sanitize(:sign_in)
116
-
117
- assert_equal({ 'username' => 'jose' }, sanitized)
118
- end
119
- end
120
-
121
- test 'removing multiple default parameters' do
122
- assert_deprecated do
123
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'password' => 'invalid', 'remember_me' => '1' })
124
- sanitizer.for(:sign_in).delete(:email)
125
- sanitizer.for(:sign_in).delete(:password)
126
- sanitized = sanitizer.sanitize(:sign_in)
127
-
128
- assert_equal({ 'remember_me' => '1' }, sanitized)
129
- end
130
- end
131
- 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,6 +0,0 @@
1
- require 'shared_admin'
2
-
3
- class Admin < ActiveRecord::Base
4
- include Shim
5
- include SharedAdmin
6
- end
@@ -1,2 +0,0 @@
1
- module Shim
2
- end
@@ -1,7 +0,0 @@
1
- require 'shared_user'
2
-
3
- class User < ActiveRecord::Base
4
- include Shim
5
- include SharedUser
6
- include ActiveModel::Serializers::Xml if Devise.rails5?
7
- end
@@ -1,7 +0,0 @@
1
- require 'shared_user_without_omniauth'
2
-
3
- class UserOnEngine < ActiveRecord::Base
4
- self.table_name = 'users'
5
- include Shim
6
- include SharedUserWithoutOmniauth
7
- end
@@ -1,7 +0,0 @@
1
- require 'shared_user_without_omniauth'
2
-
3
- class UserOnMainApp < ActiveRecord::Base
4
- self.table_name = 'users'
5
- include Shim
6
- include SharedUserWithoutOmniauth
7
- end
@@ -1,8 +0,0 @@
1
- require "shared_user_without_email"
2
-
3
- class UserWithoutEmail < ActiveRecord::Base
4
- self.table_name = 'users'
5
- include Shim
6
- include SharedUserWithoutEmail
7
- end
8
-
@@ -1,6 +0,0 @@
1
- class Admins::SessionsController < Devise::SessionsController
2
- def new
3
- flash[:special] = "Welcome to #{controller_path.inspect} controller!"
4
- super
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- class AdminsController < ApplicationController
2
- before_action :authenticate_admin!
3
-
4
- def index
5
- end
6
- end
@@ -1,11 +0,0 @@
1
- # Filters added to this controller apply to all controllers in the application.
2
- # Likewise, all the methods added will be available for all controllers.
3
-
4
- class ApplicationController < ActionController::Base
5
- protect_from_forgery
6
- before_action :current_user, unless: :devise_controller?
7
- before_action :authenticate_user!, if: :devise_controller?
8
- respond_to(*Mime::SET.map(&:to_sym))
9
-
10
- devise_group :commenter, contains: [:user, :admin]
11
- end
@@ -1,30 +0,0 @@
1
- class ApplicationWithFakeEngine < ApplicationController
2
- private
3
-
4
- helper_method :fake_engine
5
- def fake_engine
6
- @fake_engine ||= FakeEngine.new
7
- end
8
- end
9
-
10
- class FakeEngine
11
- def user_on_engine_confirmation_path
12
- '/user_on_engine/confirmation'
13
- end
14
-
15
- def new_user_on_engine_session_path
16
- '/user_on_engine/confirmation/new'
17
- end
18
-
19
- def new_user_on_engine_registration_path
20
- '/user_on_engine/registration/new'
21
- end
22
-
23
- def new_user_on_engine_password_path
24
- '/user_on_engine/password/new'
25
- end
26
-
27
- def new_user_on_engine_unlock_path
28
- '/user_on_engine/unlock/new'
29
- end
30
- end
@@ -1,31 +0,0 @@
1
- class Custom::RegistrationsController < Devise::RegistrationsController
2
- def new
3
- super do |resource|
4
- @new_block_called = true
5
- end
6
- end
7
-
8
- def create
9
- super do |resource|
10
- @create_block_called = true
11
- end
12
- end
13
-
14
- def update
15
- super do |resource|
16
- @update_block_called = true
17
- end
18
- end
19
-
20
- def create_block_called?
21
- @create_block_called == true
22
- end
23
-
24
- def update_block_called?
25
- @update_block_called == true
26
- end
27
-
28
- def new_block_called?
29
- @new_block_called == true
30
- end
31
- end
@@ -1,29 +0,0 @@
1
- class HomeController < ApplicationController
2
- def index
3
- end
4
-
5
- def private
6
- end
7
-
8
- def user_dashboard
9
- end
10
-
11
- def admin_dashboard
12
- end
13
-
14
- def join
15
- end
16
-
17
- def set
18
- session["devise.foo_bar"] = "something"
19
- head :ok
20
- end
21
-
22
- def unauthenticated
23
- if Devise.rails5?
24
- render body: "unauthenticated", status: :unauthorized
25
- else
26
- render text: "unauthenticated", status: :unauthorized
27
- end
28
- end
29
- end
@@ -1,2 +0,0 @@
1
- class Publisher::RegistrationsController < ApplicationController
2
- end
@@ -1,2 +0,0 @@
1
- class Publisher::SessionsController < ApplicationController
2
- end
@@ -1,14 +0,0 @@
1
- class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
2
- def facebook
3
- data = request.respond_to?(:get_header) ? request.get_header("omniauth.auth") : env["omniauth.auth"]
4
- session["devise.facebook_data"] = data["extra"]["user_hash"]
5
- render json: data
6
- end
7
-
8
- def sign_in_facebook
9
- user = User.to_adapter.find_first(email: 'user@test.com')
10
- user.remember_me = true
11
- sign_in user
12
- render (Devise.rails5? ? :body : :text) => ""
13
- end
14
- end
@@ -1,31 +0,0 @@
1
- class UsersController < ApplicationController
2
- prepend_before_action :current_user, only: :exhibit
3
- before_action :authenticate_user!, except: [:accept, :exhibit]
4
- respond_to :html, :xml
5
-
6
- def index
7
- user_session[:cart] = "Cart"
8
- respond_with(current_user)
9
- end
10
-
11
- def edit_form
12
- user_session['last_request_at'] = params.fetch(:last_request_at, 31.minutes.ago.utc)
13
- end
14
-
15
- def update_form
16
- render (Devise.rails5? ? :body : :text) => 'Update'
17
- end
18
-
19
- def accept
20
- @current_user = current_user
21
- end
22
-
23
- def exhibit
24
- render (Devise.rails5? ? :body : :text) => current_user ? "User is authenticated" : "User is not authenticated"
25
- end
26
-
27
- def expire
28
- user_session['last_request_at'] = 31.minutes.ago.utc
29
- render (Devise.rails5? ? :body : :text) => 'User will be expired on next request'
30
- end
31
- end
@@ -1,3 +0,0 @@
1
- # Methods added to this helper will be available to all templates in the application.
2
- module ApplicationHelper
3
- end
@@ -1,3 +0,0 @@
1
- class Users::FromProcMailer < Devise::Mailer
2
- default from: proc { 'custom@example.com' }
3
- end
@@ -1,3 +0,0 @@
1
- class Users::Mailer < Devise::Mailer
2
- default from: 'custom@example.com'
3
- end
@@ -1,4 +0,0 @@
1
- class Users::ReplyToMailer < Devise::Mailer
2
- default from: 'custom@example.com'
3
- default reply_to: 'custom_reply_to@example.com'
4
- end
@@ -1,29 +0,0 @@
1
- require 'shared_admin'
2
-
3
- class Admin
4
- include Mongoid::Document
5
- include Shim
6
- include SharedAdmin
7
-
8
- ## Database authenticatable
9
- field :email, type: String
10
- field :encrypted_password, type: String
11
-
12
- ## Recoverable
13
- field :reset_password_token, type: String
14
- field :reset_password_sent_at, type: Time
15
-
16
- ## Rememberable
17
- field :remember_created_at, type: Time
18
-
19
- ## Confirmable
20
- field :confirmation_token, type: String
21
- field :confirmed_at, type: Time
22
- field :confirmation_sent_at, type: Time
23
- field :unconfirmed_email, type: String # Only if using reconfirmable
24
-
25
- ## Lockable
26
- field :locked_at, type: Time
27
-
28
- field :active, type: Boolean, default: false
29
- end