devise_token_auth 0.1.43 → 1.2.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 (183) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +42 -895
  3. data/Rakefile +11 -4
  4. data/app/controllers/devise_token_auth/application_controller.rb +19 -8
  5. data/app/controllers/devise_token_auth/concerns/resource_finder.rb +26 -12
  6. data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +106 -85
  7. data/app/controllers/devise_token_auth/confirmations_controller.rb +73 -17
  8. data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +95 -51
  9. data/app/controllers/devise_token_auth/passwords_controller.rb +65 -57
  10. data/app/controllers/devise_token_auth/registrations_controller.rb +61 -61
  11. data/app/controllers/devise_token_auth/sessions_controller.rb +22 -18
  12. data/app/controllers/devise_token_auth/token_validations_controller.rb +5 -3
  13. data/app/controllers/devise_token_auth/unlocks_controller.rb +20 -16
  14. data/app/models/devise_token_auth/concerns/active_record_support.rb +14 -0
  15. data/app/models/devise_token_auth/concerns/confirmable_support.rb +28 -0
  16. data/app/models/devise_token_auth/concerns/mongoid_support.rb +19 -0
  17. data/app/models/devise_token_auth/concerns/tokens_serialization.rb +31 -0
  18. data/app/models/devise_token_auth/concerns/user.rb +92 -100
  19. data/app/models/devise_token_auth/concerns/user_omniauth_callbacks.rb +8 -3
  20. data/app/validators/{email_validator.rb → devise_token_auth_email_validator.rb} +5 -3
  21. data/app/views/devise_token_auth/omniauth_external_window.html.erb +1 -1
  22. data/config/locales/da-DK.yml +11 -9
  23. data/config/locales/de.yml +2 -0
  24. data/config/locales/en.yml +10 -0
  25. data/config/locales/es.yml +2 -0
  26. data/config/locales/fr.yml +2 -0
  27. data/config/locales/he.yml +52 -0
  28. data/config/locales/it.yml +2 -0
  29. data/config/locales/ja.yml +4 -2
  30. data/config/locales/ko.yml +51 -0
  31. data/config/locales/nl.yml +2 -0
  32. data/config/locales/pl.yml +6 -3
  33. data/config/locales/pt-BR.yml +2 -0
  34. data/config/locales/pt.yml +6 -3
  35. data/config/locales/ro.yml +2 -0
  36. data/config/locales/ru.yml +2 -0
  37. data/config/locales/sq.yml +2 -0
  38. data/config/locales/sv.yml +52 -0
  39. data/config/locales/uk.yml +2 -0
  40. data/config/locales/vi.yml +2 -0
  41. data/config/locales/zh-CN.yml +2 -0
  42. data/config/locales/zh-HK.yml +2 -0
  43. data/config/locales/zh-TW.yml +2 -0
  44. data/lib/devise_token_auth/blacklist.rb +6 -0
  45. data/lib/devise_token_auth/controllers/helpers.rb +21 -13
  46. data/lib/devise_token_auth/controllers/url_helpers.rb +2 -0
  47. data/lib/devise_token_auth/engine.rb +26 -14
  48. data/lib/devise_token_auth/errors.rb +8 -0
  49. data/lib/devise_token_auth/rails/routes.rb +37 -30
  50. data/lib/devise_token_auth/token_factory.rb +126 -0
  51. data/lib/devise_token_auth/url.rb +11 -4
  52. data/lib/devise_token_auth/version.rb +3 -1
  53. data/lib/devise_token_auth.rb +11 -5
  54. data/lib/generators/devise_token_auth/USAGE +2 -2
  55. data/lib/generators/devise_token_auth/install_generator.rb +36 -105
  56. data/lib/generators/devise_token_auth/install_generator_helpers.rb +98 -0
  57. data/lib/generators/devise_token_auth/install_mongoid_generator.rb +46 -0
  58. data/lib/generators/devise_token_auth/install_views_generator.rb +7 -5
  59. data/lib/generators/devise_token_auth/templates/devise_token_auth.rb +12 -0
  60. data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +8 -14
  61. data/lib/generators/devise_token_auth/templates/user.rb.erb +9 -0
  62. data/lib/generators/devise_token_auth/templates/user_mongoid.rb.erb +56 -0
  63. data/lib/tasks/devise_token_auth_tasks.rake +2 -0
  64. data/test/controllers/custom/custom_confirmations_controller_test.rb +5 -1
  65. data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +4 -0
  66. data/test/controllers/custom/custom_passwords_controller_test.rb +6 -2
  67. data/test/controllers/custom/custom_registrations_controller_test.rb +17 -8
  68. data/test/controllers/custom/custom_sessions_controller_test.rb +7 -5
  69. data/test/controllers/custom/custom_token_validations_controller_test.rb +5 -3
  70. data/test/controllers/demo_group_controller_test.rb +4 -6
  71. data/test/controllers/demo_mang_controller_test.rb +3 -3
  72. data/test/controllers/demo_user_controller_test.rb +53 -25
  73. data/test/controllers/devise_token_auth/confirmations_controller_test.rb +159 -25
  74. data/test/controllers/devise_token_auth/omniauth_callbacks_controller_test.rb +117 -47
  75. data/test/controllers/devise_token_auth/passwords_controller_test.rb +309 -126
  76. data/test/controllers/devise_token_auth/registrations_controller_test.rb +65 -23
  77. data/test/controllers/devise_token_auth/sessions_controller_test.rb +93 -61
  78. data/test/controllers/devise_token_auth/token_validations_controller_test.rb +18 -6
  79. data/test/controllers/devise_token_auth/unlocks_controller_test.rb +24 -5
  80. data/test/controllers/overrides/confirmations_controller_test.rb +6 -2
  81. data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +5 -1
  82. data/test/controllers/overrides/passwords_controller_test.rb +27 -29
  83. data/test/controllers/overrides/registrations_controller_test.rb +33 -27
  84. data/test/controllers/overrides/sessions_controller_test.rb +6 -4
  85. data/test/controllers/overrides/token_validations_controller_test.rb +5 -3
  86. data/test/dummy/app/active_record/confirmable_user.rb +11 -0
  87. data/test/dummy/app/{models → active_record}/lockable_user.rb +2 -0
  88. data/test/dummy/app/{models → active_record}/mang.rb +2 -0
  89. data/test/dummy/app/{models → active_record}/only_email_user.rb +2 -0
  90. data/test/dummy/app/{models → active_record}/scoped_user.rb +4 -2
  91. data/test/dummy/app/{models → active_record}/unconfirmable_user.rb +3 -2
  92. data/test/dummy/app/active_record/unregisterable_user.rb +9 -0
  93. data/test/dummy/app/active_record/user.rb +6 -0
  94. data/test/dummy/app/controllers/application_controller.rb +2 -0
  95. data/test/dummy/app/controllers/auth_origin_controller.rb +2 -0
  96. data/test/dummy/app/controllers/custom/confirmations_controller.rb +2 -2
  97. data/test/dummy/app/controllers/custom/omniauth_callbacks_controller.rb +2 -0
  98. data/test/dummy/app/controllers/custom/passwords_controller.rb +3 -4
  99. data/test/dummy/app/controllers/custom/registrations_controller.rb +3 -3
  100. data/test/dummy/app/controllers/custom/sessions_controller.rb +3 -3
  101. data/test/dummy/app/controllers/custom/token_validations_controller.rb +3 -3
  102. data/test/dummy/app/controllers/demo_group_controller.rb +2 -0
  103. data/test/dummy/app/controllers/demo_mang_controller.rb +2 -0
  104. data/test/dummy/app/controllers/demo_user_controller.rb +2 -0
  105. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +8 -6
  106. data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +5 -3
  107. data/test/dummy/app/controllers/overrides/passwords_controller.rb +10 -8
  108. data/test/dummy/app/controllers/overrides/registrations_controller.rb +5 -3
  109. data/test/dummy/app/controllers/overrides/sessions_controller.rb +12 -12
  110. data/test/dummy/app/controllers/overrides/token_validations_controller.rb +5 -5
  111. data/test/dummy/app/helpers/application_helper.rb +1029 -1036
  112. data/test/dummy/app/models/{user.rb → concerns/favorite_color.rb} +8 -7
  113. data/test/dummy/app/mongoid/confirmable_user.rb +52 -0
  114. data/test/dummy/app/mongoid/lockable_user.rb +38 -0
  115. data/test/dummy/app/mongoid/mang.rb +46 -0
  116. data/test/dummy/app/mongoid/only_email_user.rb +33 -0
  117. data/test/dummy/app/mongoid/scoped_user.rb +50 -0
  118. data/test/dummy/app/mongoid/unconfirmable_user.rb +44 -0
  119. data/test/dummy/app/mongoid/unregisterable_user.rb +47 -0
  120. data/test/dummy/app/mongoid/user.rb +49 -0
  121. data/test/dummy/app/views/layouts/application.html.erb +0 -2
  122. data/test/dummy/config/application.rb +26 -3
  123. data/test/dummy/config/boot.rb +8 -2
  124. data/test/dummy/config/environment.rb +3 -1
  125. data/test/dummy/config/environments/development.rb +5 -13
  126. data/test/dummy/config/environments/production.rb +2 -16
  127. data/test/dummy/config/environments/test.rb +3 -1
  128. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  129. data/test/dummy/config/initializers/cookies_serializer.rb +3 -1
  130. data/test/dummy/config/initializers/devise.rb +287 -0
  131. data/test/dummy/config/initializers/devise_token_auth.rb +37 -4
  132. data/test/dummy/config/initializers/figaro.rb +3 -1
  133. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  134. data/test/dummy/config/initializers/inflections.rb +2 -0
  135. data/test/dummy/config/initializers/mime_types.rb +2 -0
  136. data/test/dummy/config/initializers/omniauth.rb +5 -2
  137. data/test/dummy/config/initializers/session_store.rb +2 -0
  138. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  139. data/test/dummy/config/routes.rb +14 -29
  140. data/test/dummy/config/spring.rb +2 -0
  141. data/test/dummy/config.ru +5 -3
  142. data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +9 -14
  143. data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +8 -13
  144. data/test/dummy/db/migrate/20140829044006_add_operating_thetan_to_user.rb +2 -0
  145. data/test/dummy/db/migrate/20140916224624_add_favorite_color_to_mangs.rb +2 -0
  146. data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +6 -11
  147. data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +8 -13
  148. data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +8 -13
  149. data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +8 -13
  150. data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +8 -13
  151. data/test/dummy/{tmp/generators/db/migrate/20171014052631_devise_token_auth_create_users.rb → db/migrate/20190924101113_devise_token_auth_create_confirmable_users.rb} +8 -14
  152. data/test/dummy/db/schema.rb +11 -71
  153. data/test/dummy/lib/migration_database_helper.rb +15 -1
  154. data/test/dummy/tmp/generators/app/controllers/application_controller.rb +6 -0
  155. data/test/dummy/tmp/generators/app/models/azpire/v1/human_resource/user.rb +56 -0
  156. data/test/dummy/tmp/generators/config/initializers/devise_token_auth.rb +12 -0
  157. data/test/factories/users.rb +41 -0
  158. data/test/lib/devise_token_auth/blacklist_test.rb +19 -0
  159. data/test/lib/devise_token_auth/rails/custom_routes_test.rb +29 -0
  160. data/test/lib/devise_token_auth/rails/routes_test.rb +87 -0
  161. data/test/lib/devise_token_auth/token_factory_test.rb +191 -0
  162. data/test/lib/devise_token_auth/url_test.rb +9 -7
  163. data/test/lib/generators/devise_token_auth/install_generator_test.rb +67 -37
  164. data/test/lib/generators/devise_token_auth/install_generator_with_namespace_test.rb +222 -0
  165. data/test/lib/generators/devise_token_auth/install_views_generator_test.rb +3 -1
  166. data/test/models/concerns/mongoid_support_test.rb +31 -0
  167. data/test/models/concerns/tokens_serialization_test.rb +104 -0
  168. data/test/models/confirmable_user_test.rb +35 -0
  169. data/test/models/only_email_user_test.rb +2 -8
  170. data/test/models/user_test.rb +18 -79
  171. data/test/support/controllers/routes.rb +43 -0
  172. data/test/test_helper.rb +83 -26
  173. metadata +153 -44
  174. data/config/initializers/devise.rb +0 -196
  175. data/lib/generators/devise_token_auth/templates/user.rb +0 -7
  176. data/test/dummy/app/models/evil_user.rb +0 -3
  177. data/test/dummy/app/models/nice_user.rb +0 -7
  178. data/test/dummy/app/models/unregisterable_user.rb +0 -7
  179. data/test/dummy/config/initializers/assets.rb +0 -8
  180. data/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb +0 -64
  181. data/test/dummy/db/migrate/20150409095712_devise_token_auth_create_nice_users.rb +0 -61
  182. data/test/dummy/tmp/generators/app/models/user.rb +0 -11
  183. data/test/integration/navigation_test.rb +0 -10
@@ -1,12 +1,13 @@
1
- class User < ActiveRecord::Base
2
- include DeviseTokenAuth::Concerns::User
3
-
4
- validates :operating_thetan, numericality: true, allow_nil: true
5
- validate :ensure_correct_favorite_color
1
+ module FavoriteColor
2
+ extend ActiveSupport::Concern
6
3
 
4
+ included do
5
+ validates :operating_thetan, numericality: true, allow_nil: true
6
+ validate :ensure_correct_favorite_color
7
+ end
8
+
7
9
  def ensure_correct_favorite_color
8
-
9
- if favorite_color and favorite_color != ""
10
+ if favorite_color && (favorite_color != '')
10
11
  unless ApplicationHelper::COLOR_NAMES.any?{ |s| s.casecmp(favorite_color)==0 }
11
12
  matches = ApplicationHelper::COLOR_SEARCH.search(favorite_color)
12
13
  closest_match = matches.last[:string]
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ConfirmableUser
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+
19
+ ## Database authenticatable
20
+ field :email, type: String, default: ''
21
+ field :encrypted_password, type: String, default: ''
22
+
23
+ ## Recoverable
24
+ field :reset_password_token, type: String
25
+ field :reset_password_sent_at, type: Time
26
+ field :reset_password_redirect_url, type: String
27
+ field :allow_password_change, type: Boolean, default: false
28
+
29
+ ## Rememberable
30
+ field :remember_created_at, type: Time
31
+
32
+ ## Confirmable
33
+ field :confirmation_token, type: String
34
+ field :confirmed_at, type: Time
35
+ field :confirmation_sent_at, type: Time
36
+ field :unconfirmed_email, type: String # Only if using reconfirmable
37
+
38
+ ## Required
39
+ field :provider, type: String
40
+ field :uid, type: String, default: ''
41
+
42
+ ## Tokens
43
+ field :tokens, type: Hash, default: {}
44
+
45
+ # Include default devise modules.
46
+ devise :database_authenticatable, :registerable,
47
+ :recoverable, :rememberable, :trackable,
48
+ :validatable, :confirmable
49
+ DeviseTokenAuth.send_confirmation_email = true
50
+ include DeviseTokenAuth::Concerns::User
51
+ DeviseTokenAuth.send_confirmation_email = false
52
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ class LockableUser
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+
19
+ ## Database authenticatable
20
+ field :email, type: String, default: ''
21
+ field :encrypted_password, type: String, default: ''
22
+
23
+ ## Lockable
24
+ field :failed_attempts, type: Integer, default: 0 # Only if lock strategy is :failed_attempts
25
+ field :unlock_token, type: String # Only if unlock strategy is :email or :both
26
+ field :locked_at, type: Time
27
+
28
+ ## Required
29
+ field :provider, type: String
30
+ field :uid, type: String, default: ''
31
+
32
+ ## Tokens
33
+ field :tokens, type: Hash, default: {}
34
+
35
+ # Include default devise modules.
36
+ devise :database_authenticatable, :registerable, :lockable
37
+ include DeviseTokenAuth::Concerns::User
38
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Mang
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+
19
+ ## Database authenticatable
20
+ field :email, type: String, default: ''
21
+ field :encrypted_password, type: String, default: ''
22
+
23
+ ## Recoverable
24
+ field :reset_password_token, type: String
25
+ field :reset_password_sent_at, type: Time
26
+ field :reset_password_redirect_url, type: String
27
+ field :allow_password_change, type: Boolean, default: false
28
+
29
+ ## Rememberable
30
+ field :remember_created_at, type: Time
31
+
32
+ ## Confirmable
33
+ field :confirmation_token, type: String
34
+ field :confirmed_at, type: Time
35
+ field :confirmation_sent_at, type: Time
36
+ field :unconfirmed_email, type: String # Only if using reconfirmable
37
+
38
+ ## Required
39
+ field :provider, type: String
40
+ field :uid, type: String, default: ''
41
+
42
+ ## Tokens
43
+ field :tokens, type: Hash, default: {}
44
+
45
+ include DeviseTokenAuth::Concerns::User
46
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ class OnlyEmailUser
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+
19
+ ## Database authenticatable
20
+ field :email, type: String, default: ''
21
+ field :encrypted_password, type: String, default: ''
22
+
23
+ ## Required
24
+ field :provider, type: String
25
+ field :uid, type: String, default: ''
26
+
27
+ ## Tokens
28
+ field :tokens, type: Hash, default: {}
29
+
30
+ # Include default devise modules.
31
+ devise :database_authenticatable, :registerable
32
+ include DeviseTokenAuth::Concerns::User
33
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ScopedUser
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+
19
+ ## Database authenticatable
20
+ field :email, type: String, default: ''
21
+ field :encrypted_password, type: String, default: ''
22
+
23
+ ## Recoverable
24
+ field :reset_password_token, type: String
25
+ field :reset_password_sent_at, type: Time
26
+ field :reset_password_redirect_url, type: String
27
+ field :allow_password_change, type: Boolean, default: false
28
+
29
+ ## Rememberable
30
+ field :remember_created_at, type: Time
31
+
32
+ ## Confirmable
33
+ field :confirmation_token, type: String
34
+ field :confirmed_at, type: Time
35
+ field :confirmation_sent_at, type: Time
36
+ field :unconfirmed_email, type: String # Only if using reconfirmable
37
+
38
+ ## Required
39
+ field :provider, type: String
40
+ field :uid, type: String, default: ''
41
+
42
+ ## Tokens
43
+ field :tokens, type: Hash, default: {}
44
+
45
+ # Include default devise modules.
46
+ devise :database_authenticatable, :registerable,
47
+ :recoverable, :rememberable, :trackable,
48
+ :validatable, :confirmable, :omniauthable
49
+ include DeviseTokenAuth::Concerns::User
50
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ class UnconfirmableUser
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+
19
+ ## Database authenticatable
20
+ field :email, type: String, default: ''
21
+ field :encrypted_password, type: String, default: ''
22
+
23
+ ## Recoverable
24
+ field :reset_password_token, type: String
25
+ field :reset_password_sent_at, type: Time
26
+ field :reset_password_redirect_url, type: String
27
+ field :allow_password_change, type: Boolean, default: false
28
+
29
+ ## Rememberable
30
+ field :remember_created_at, type: Time
31
+
32
+ ## Required
33
+ field :provider, type: String
34
+ field :uid, type: String, default: ''
35
+
36
+ ## Tokens
37
+ field :tokens, type: Hash, default: {}
38
+
39
+ # Include default devise modules.
40
+ devise :database_authenticatable, :registerable,
41
+ :recoverable, :rememberable, :trackable,
42
+ :validatable, :omniauthable
43
+ include DeviseTokenAuth::Concerns::User
44
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ class UnregisterableUser
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+
19
+ ## Database authenticatable
20
+ field :email, type: String, default: ''
21
+ field :encrypted_password, type: String, default: ''
22
+
23
+ ## Recoverable
24
+ field :reset_password_token, type: String
25
+ field :reset_password_sent_at, type: Time
26
+ field :reset_password_redirect_url, type: String
27
+ field :allow_password_change, type: Boolean, default: false
28
+
29
+ ## Confirmable
30
+ field :confirmation_token, type: String
31
+ field :confirmed_at, type: Time
32
+ field :confirmation_sent_at, type: Time
33
+ field :unconfirmed_email, type: String # Only if using reconfirmable
34
+
35
+ ## Required
36
+ field :provider, type: String
37
+ field :uid, type: String, default: ''
38
+
39
+ ## Tokens
40
+ field :tokens, type: Hash, default: {}
41
+
42
+ # Include default devise modules.
43
+ devise :database_authenticatable, :recoverable,
44
+ :trackable, :validatable, :confirmable,
45
+ :omniauthable
46
+ include DeviseTokenAuth::Concerns::User
47
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ class User
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Locker
7
+
8
+ field :locker_locked_at, type: Time
9
+ field :locker_locked_until, type: Time
10
+
11
+ locker locked_at_field: :locker_locked_at,
12
+ locked_until_field: :locker_locked_until
13
+
14
+ ## User Info
15
+ field :name, type: String
16
+ field :nickname, type: String
17
+ field :image, type: String
18
+ field :favorite_color, type: String
19
+ field :operating_thetan, type: Integer
20
+
21
+ ## Database authenticatable
22
+ field :email, type: String, default: ''
23
+ field :encrypted_password, type: String, default: ''
24
+
25
+ ## Recoverable
26
+ field :reset_password_token, type: String
27
+ field :reset_password_sent_at, type: Time
28
+ field :reset_password_redirect_url, type: String
29
+ field :allow_password_change, type: Boolean, default: false
30
+
31
+ ## Rememberable
32
+ field :remember_created_at, type: Time
33
+
34
+ ## Confirmable
35
+ field :confirmation_token, type: String
36
+ field :confirmed_at, type: Time
37
+ field :confirmation_sent_at, type: Time
38
+ field :unconfirmed_email, type: String # Only if using reconfirmable
39
+
40
+ ## Required
41
+ field :provider, type: String
42
+ field :uid, type: String, default: ''
43
+
44
+ ## Tokens
45
+ field :tokens, type: Hash, default: {}
46
+
47
+ include DeviseTokenAuth::Concerns::User
48
+ include FavoriteColor
49
+ end
@@ -2,8 +2,6 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>Dummy</title>
5
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
5
  <%= csrf_meta_tags %>
8
6
  </head>
9
7
  <body>
@@ -1,10 +1,26 @@
1
- require File.expand_path('../boot', __FILE__)
1
+ # frozen_string_literal: true
2
2
 
3
+ require File.expand_path('boot', __dir__)
4
+
5
+ require 'action_controller/railtie'
6
+ require 'action_mailer/railtie'
7
+ require 'rails/generators'
3
8
  require 'rack/cors'
4
- require 'rails/all'
5
9
 
6
10
  Bundler.require(*Rails.groups)
7
- require "devise_token_auth"
11
+
12
+ begin
13
+ case DEVISE_TOKEN_AUTH_ORM
14
+ when :active_record
15
+ require 'active_record/railtie'
16
+ when :mongoid
17
+ require 'mongoid'
18
+ require 'mongoid-locker'
19
+ end
20
+ rescue LoadError
21
+ end
22
+
23
+ require 'devise_token_auth'
8
24
 
9
25
  module Dummy
10
26
  class Application < Rails::Application
@@ -20,5 +36,12 @@ module Dummy
20
36
  # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
21
37
  # config.i18n.default_locale = :de
22
38
  config.autoload_paths << Rails.root.join('lib')
39
+ config.autoload_paths += ["#{config.root}/app/#{DEVISE_TOKEN_AUTH_ORM}"]
40
+
41
+ if DEVISE_TOKEN_AUTH_ORM == :mongoid
42
+ Mongoid.configure do |config|
43
+ config.load! Rails.root.join('./config/mongoid.yml')
44
+ end
45
+ end
23
46
  end
24
47
  end
@@ -1,5 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ unless defined?(DEVISE_TOKEN_AUTH_ORM)
4
+ DEVISE_TOKEN_AUTH_ORM = (ENV["DEVISE_TOKEN_AUTH_ORM"] || :active_record).to_sym
5
+ end
6
+
1
7
  # Set up gems listed in the Gemfile.
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
8
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
3
9
 
4
10
  require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
5
- $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
11
+ $LOAD_PATH.unshift File.expand_path('../../../lib', __dir__)
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Load the Rails application.
2
- require File.expand_path('../application', __FILE__)
4
+ require File.expand_path('application', __dir__)
3
5
 
4
6
  # Initialize the Rails application.
5
7
  Rails.application.initialize!
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5
 
@@ -17,9 +19,9 @@ Rails.application.configure do
17
19
  config.action_mailer.raise_delivery_errors = true
18
20
 
19
21
  # use mailcatcher for development
20
- config.action_mailer.default_url_options = { :host => 'devise-token-auth.dev' }
22
+ config.action_mailer.default_url_options = { host: 'devise-token-auth.dev' }
21
23
  config.action_mailer.delivery_method = :smtp
22
- config.action_mailer.smtp_settings = { :address => 'localhost', :port => 1025 }
24
+ config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 }
23
25
 
24
26
  # Print deprecation notices to the Rails logger.
25
27
  config.active_support.deprecation = :log
@@ -27,18 +29,8 @@ Rails.application.configure do
27
29
  # Raise an error on page load if there are pending migrations.
28
30
  config.active_record.migration_error = :page_load
29
31
 
30
- # Debug mode disables concatenation and preprocessing of assets.
31
- # This option may cause significant delays in view rendering with a large
32
- # number of complex assets.
33
- config.assets.debug = true
34
-
35
- # Adds additional error checking when serving assets at runtime.
36
- # Checks for improperly declared sprockets dependencies.
37
- # Raises helpful error messages.
38
- config.assets.raise_runtime_errors = true
39
-
40
32
  # Raises error for missing translations
41
33
  # config.action_view.raise_on_missing_translations = true
42
34
 
43
- OmniAuth.config.full_host = "http://devise-token-auth.dev"
35
+ OmniAuth.config.full_host = 'http://devise-token-auth.dev'
44
36
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5
 
@@ -22,18 +24,6 @@ Rails.application.configure do
22
24
  # Disable Rails's static asset server (Apache or nginx will already do this).
23
25
  config.serve_static_files = false
24
26
 
25
- # Compress JavaScripts and CSS.
26
- config.assets.js_compressor = :uglifier
27
- # config.assets.css_compressor = :sass
28
-
29
- # Do not fallback to assets pipeline if a precompiled asset is missed.
30
- config.assets.compile = false
31
-
32
- # Generate digests for assets URLs.
33
- config.assets.digest = true
34
-
35
- # `config.assets.precompile` has moved to config/initializers/assets.rb
36
-
37
27
  # Specifies the header that your server uses for sending files.
38
28
  # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
39
29
  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
@@ -56,10 +46,6 @@ Rails.application.configure do
56
46
  # Enable serving of images, stylesheets, and JavaScripts from an asset server.
57
47
  # config.action_controller.asset_host = "http://assets.example.com"
58
48
 
59
- # Precompile additional assets.
60
- # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
61
- # config.assets.precompile += %w( search.js )
62
-
63
49
  # Ignore bad email addresses and do not raise email delivery errors.
64
50
  # Set this to true and configure the email server for immediate delivery to raise delivery errors.
65
51
  # config.action_mailer.raise_delivery_errors = false
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5
 
@@ -35,7 +37,7 @@ Rails.application.configure do
35
37
  # The :test delivery method accumulates sent emails in the
36
38
  # ActionMailer::Base.deliveries array.
37
39
  config.action_mailer.delivery_method = :test
38
- config.action_mailer.default_url_options = { :host => 'localhost' }
40
+ config.action_mailer.default_url_options = { host: 'localhost' }
39
41
 
40
42
  # Print deprecation notices to the stderr.
41
43
  config.active_support.deprecation = :stderr
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
- Rails.application.config.action_dispatch.cookies_serializer = :json
5
+ Rails.application.config.action_dispatch.cookies_serializer = :json