devise 4.3.0 → 4.4.0

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

Potentially problematic release.


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

Files changed (215) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -5
  3. data/CHANGELOG.md +20 -0
  4. data/Gemfile +2 -3
  5. data/Gemfile.lock +2 -3
  6. data/ISSUE_TEMPLATE.md +19 -0
  7. data/README.md +66 -2
  8. data/Rakefile +1 -0
  9. data/app/controllers/devise/confirmations_controller.rb +2 -0
  10. data/app/controllers/devise/omniauth_callbacks_controller.rb +3 -1
  11. data/app/controllers/devise/passwords_controller.rb +2 -0
  12. data/app/controllers/devise/registrations_controller.rb +5 -3
  13. data/app/controllers/devise/sessions_controller.rb +3 -1
  14. data/app/controllers/devise/unlocks_controller.rb +2 -0
  15. data/app/controllers/devise_controller.rb +2 -0
  16. data/app/helpers/devise_helper.rb +2 -0
  17. data/app/mailers/devise/mailer.rb +2 -0
  18. data/app/views/devise/confirmations/new.html.erb +1 -1
  19. data/app/views/devise/passwords/new.html.erb +1 -1
  20. data/app/views/devise/registrations/edit.html.erb +1 -1
  21. data/app/views/devise/registrations/new.html.erb +1 -1
  22. data/app/views/devise/sessions/new.html.erb +1 -1
  23. data/app/views/devise/unlocks/new.html.erb +1 -1
  24. data/devise.gemspec +2 -0
  25. data/gemfiles/Gemfile.rails-4.1-stable +3 -1
  26. data/gemfiles/Gemfile.rails-4.1-stable.lock +3 -3
  27. data/gemfiles/Gemfile.rails-4.2-stable +3 -1
  28. data/gemfiles/Gemfile.rails-4.2-stable.lock +3 -3
  29. data/gemfiles/Gemfile.rails-5.0-stable +2 -3
  30. data/gemfiles/Gemfile.rails-5.0-stable.lock +2 -3
  31. data/guides/bug_report_templates/integration_test.rb +2 -0
  32. data/lib/devise.rb +3 -1
  33. data/lib/devise/controllers/helpers.rb +7 -5
  34. data/lib/devise/controllers/rememberable.rb +2 -0
  35. data/lib/devise/controllers/scoped_views.rb +2 -0
  36. data/lib/devise/controllers/sign_in_out.rb +2 -0
  37. data/lib/devise/controllers/store_location.rb +24 -6
  38. data/lib/devise/controllers/url_helpers.rb +2 -0
  39. data/lib/devise/delegator.rb +2 -0
  40. data/lib/devise/encryptor.rb +2 -0
  41. data/lib/devise/failure_app.rb +2 -0
  42. data/lib/devise/hooks/activatable.rb +2 -0
  43. data/lib/devise/hooks/csrf_cleaner.rb +2 -0
  44. data/lib/devise/hooks/forgetable.rb +2 -0
  45. data/lib/devise/hooks/lockable.rb +2 -0
  46. data/lib/devise/hooks/proxy.rb +2 -0
  47. data/lib/devise/hooks/rememberable.rb +2 -0
  48. data/lib/devise/hooks/timeoutable.rb +2 -0
  49. data/lib/devise/hooks/trackable.rb +2 -0
  50. data/lib/devise/mailers/helpers.rb +2 -0
  51. data/lib/devise/mapping.rb +2 -0
  52. data/lib/devise/models.rb +2 -0
  53. data/lib/devise/models/authenticatable.rb +4 -2
  54. data/lib/devise/models/confirmable.rb +3 -1
  55. data/lib/devise/models/database_authenticatable.rb +3 -1
  56. data/lib/devise/models/lockable.rb +8 -2
  57. data/lib/devise/models/omniauthable.rb +2 -0
  58. data/lib/devise/models/recoverable.rb +2 -0
  59. data/lib/devise/models/registerable.rb +2 -0
  60. data/lib/devise/models/rememberable.rb +3 -1
  61. data/lib/devise/models/timeoutable.rb +2 -0
  62. data/lib/devise/models/trackable.rb +3 -1
  63. data/lib/devise/models/validatable.rb +3 -1
  64. data/lib/devise/modules.rb +2 -0
  65. data/lib/devise/omniauth.rb +2 -0
  66. data/lib/devise/omniauth/config.rb +2 -0
  67. data/lib/devise/omniauth/url_helpers.rb +2 -0
  68. data/lib/devise/orm/active_record.rb +2 -0
  69. data/lib/devise/orm/mongoid.rb +2 -0
  70. data/lib/devise/parameter_filter.rb +2 -0
  71. data/lib/devise/parameter_sanitizer.rb +2 -0
  72. data/lib/devise/rails.rb +2 -0
  73. data/lib/devise/rails/routes.rb +2 -0
  74. data/lib/devise/rails/warden_compat.rb +2 -0
  75. data/lib/devise/strategies/authenticatable.rb +2 -0
  76. data/lib/devise/strategies/base.rb +2 -0
  77. data/lib/devise/strategies/database_authenticatable.rb +2 -0
  78. data/lib/devise/strategies/rememberable.rb +2 -0
  79. data/lib/devise/test/controller_helpers.rb +2 -0
  80. data/lib/devise/test/integration_helpers.rb +2 -0
  81. data/lib/devise/test_helpers.rb +2 -0
  82. data/lib/devise/time_inflector.rb +2 -0
  83. data/lib/devise/token_generator.rb +2 -0
  84. data/lib/devise/version.rb +3 -1
  85. data/lib/generators/active_record/devise_generator.rb +15 -2
  86. data/lib/generators/active_record/templates/migration.rb +3 -1
  87. data/lib/generators/active_record/templates/migration_existing.rb +2 -0
  88. data/lib/generators/devise/controllers_generator.rb +2 -0
  89. data/lib/generators/devise/devise_generator.rb +4 -2
  90. data/lib/generators/devise/install_generator.rb +2 -0
  91. data/lib/generators/devise/orm_helpers.rb +7 -1
  92. data/lib/generators/devise/views_generator.rb +7 -8
  93. data/lib/generators/mongoid/devise_generator.rb +2 -0
  94. data/lib/generators/templates/controllers/confirmations_controller.rb +2 -0
  95. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +2 -0
  96. data/lib/generators/templates/controllers/passwords_controller.rb +2 -0
  97. data/lib/generators/templates/controllers/registrations_controller.rb +2 -0
  98. data/lib/generators/templates/controllers/sessions_controller.rb +2 -0
  99. data/lib/generators/templates/controllers/unlocks_controller.rb +2 -0
  100. data/lib/generators/templates/devise.rb +2 -0
  101. data/test/controllers/custom_registrations_controller_test.rb +2 -0
  102. data/test/controllers/custom_strategy_test.rb +2 -0
  103. data/test/controllers/helper_methods_test.rb +2 -0
  104. data/test/controllers/helpers_test.rb +2 -0
  105. data/test/controllers/inherited_controller_i18n_messages_test.rb +2 -0
  106. data/test/controllers/internal_helpers_test.rb +2 -0
  107. data/test/controllers/load_hooks_controller_test.rb +2 -0
  108. data/test/controllers/passwords_controller_test.rb +2 -0
  109. data/test/controllers/sessions_controller_test.rb +2 -0
  110. data/test/controllers/url_helpers_test.rb +2 -0
  111. data/test/delegator_test.rb +2 -0
  112. data/test/devise_test.rb +2 -0
  113. data/test/failure_app_test.rb +2 -0
  114. data/test/generators/active_record_generator_test.rb +47 -0
  115. data/test/generators/controllers_generator_test.rb +2 -0
  116. data/test/generators/devise_generator_test.rb +2 -0
  117. data/test/generators/install_generator_test.rb +2 -0
  118. data/test/generators/mongoid_generator_test.rb +2 -0
  119. data/test/generators/views_generator_test.rb +2 -0
  120. data/test/helpers/devise_helper_test.rb +2 -0
  121. data/test/integration/authenticatable_test.rb +15 -1
  122. data/test/integration/confirmable_test.rb +2 -0
  123. data/test/integration/database_authenticatable_test.rb +2 -0
  124. data/test/integration/http_authenticatable_test.rb +2 -0
  125. data/test/integration/lockable_test.rb +5 -3
  126. data/test/integration/mounted_engine_test.rb +2 -0
  127. data/test/integration/omniauthable_test.rb +2 -0
  128. data/test/integration/recoverable_test.rb +2 -0
  129. data/test/integration/registerable_test.rb +2 -0
  130. data/test/integration/rememberable_test.rb +2 -0
  131. data/test/integration/timeoutable_test.rb +2 -0
  132. data/test/integration/trackable_test.rb +2 -0
  133. data/test/mailers/confirmation_instructions_test.rb +2 -0
  134. data/test/mailers/email_changed_test.rb +2 -0
  135. data/test/mailers/mailer_test.rb +2 -0
  136. data/test/mailers/reset_password_instructions_test.rb +2 -0
  137. data/test/mailers/unlock_instructions_test.rb +2 -0
  138. data/test/mapping_test.rb +2 -0
  139. data/test/models/authenticatable_test.rb +2 -0
  140. data/test/models/confirmable_test.rb +2 -0
  141. data/test/models/database_authenticatable_test.rb +2 -0
  142. data/test/models/lockable_test.rb +2 -0
  143. data/test/models/omniauthable_test.rb +2 -0
  144. data/test/models/recoverable_test.rb +2 -0
  145. data/test/models/registerable_test.rb +2 -0
  146. data/test/models/rememberable_test.rb +2 -0
  147. data/test/models/serializable_test.rb +6 -0
  148. data/test/models/timeoutable_test.rb +2 -0
  149. data/test/models/trackable_test.rb +11 -0
  150. data/test/models/validatable_test.rb +4 -2
  151. data/test/models_test.rb +2 -0
  152. data/test/omniauth/config_test.rb +2 -0
  153. data/test/omniauth/url_helpers_test.rb +2 -0
  154. data/test/orm/active_record.rb +2 -0
  155. data/test/orm/mongoid.rb +3 -1
  156. data/test/parameter_sanitizer_test.rb +2 -0
  157. data/test/rails_app/app/active_record/admin.rb +2 -0
  158. data/test/rails_app/app/active_record/shim.rb +2 -0
  159. data/test/rails_app/app/active_record/user.rb +4 -0
  160. data/test/rails_app/app/active_record/user_on_engine.rb +2 -0
  161. data/test/rails_app/app/active_record/user_on_main_app.rb +2 -0
  162. data/test/rails_app/app/active_record/user_with_validations.rb +12 -0
  163. data/test/rails_app/app/active_record/user_without_email.rb +2 -0
  164. data/test/rails_app/app/controllers/admins/sessions_controller.rb +2 -0
  165. data/test/rails_app/app/controllers/admins_controller.rb +2 -0
  166. data/test/rails_app/app/controllers/application_controller.rb +2 -0
  167. data/test/rails_app/app/controllers/application_with_fake_engine.rb +2 -0
  168. data/test/rails_app/app/controllers/custom/registrations_controller.rb +2 -0
  169. data/test/rails_app/app/controllers/home_controller.rb +2 -0
  170. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +2 -0
  171. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +2 -0
  172. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +2 -0
  173. data/test/rails_app/app/controllers/users_controller.rb +2 -0
  174. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  175. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +2 -0
  176. data/test/rails_app/app/mailers/users/mailer.rb +2 -0
  177. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +2 -0
  178. data/test/rails_app/app/mongoid/admin.rb +2 -0
  179. data/test/rails_app/app/mongoid/shim.rb +2 -0
  180. data/test/rails_app/app/mongoid/user.rb +2 -0
  181. data/test/rails_app/app/mongoid/user_on_engine.rb +2 -0
  182. data/test/rails_app/app/mongoid/user_on_main_app.rb +2 -0
  183. data/test/rails_app/app/mongoid/user_with_validations.rb +37 -0
  184. data/test/rails_app/app/mongoid/user_without_email.rb +2 -0
  185. data/test/rails_app/config/application.rb +2 -0
  186. data/test/rails_app/config/boot.rb +2 -0
  187. data/test/rails_app/config/environment.rb +2 -0
  188. data/test/rails_app/config/environments/development.rb +2 -0
  189. data/test/rails_app/config/environments/production.rb +2 -0
  190. data/test/rails_app/config/environments/test.rb +2 -0
  191. data/test/rails_app/config/initializers/backtrace_silencers.rb +2 -0
  192. data/test/rails_app/config/initializers/devise.rb +2 -0
  193. data/test/rails_app/config/initializers/inflections.rb +2 -0
  194. data/test/rails_app/config/initializers/secret_token.rb +2 -0
  195. data/test/rails_app/config/initializers/session_store.rb +2 -0
  196. data/test/rails_app/config/routes.rb +2 -0
  197. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +2 -0
  198. data/test/rails_app/db/schema.rb +2 -0
  199. data/test/rails_app/lib/shared_admin.rb +2 -0
  200. data/test/rails_app/lib/shared_user.rb +2 -0
  201. data/test/rails_app/lib/shared_user_without_email.rb +2 -0
  202. data/test/rails_app/lib/shared_user_without_omniauth.rb +2 -0
  203. data/test/rails_test.rb +2 -0
  204. data/test/routes_test.rb +2 -0
  205. data/test/support/action_controller/record_identifier.rb +2 -0
  206. data/test/support/assertions.rb +2 -0
  207. data/test/support/helpers.rb +6 -0
  208. data/test/support/http_method_compatibility.rb +2 -0
  209. data/test/support/integration.rb +2 -0
  210. data/test/support/webrat/integrations/rails.rb +2 -0
  211. data/test/test/controller_helpers_test.rb +2 -0
  212. data/test/test/integration_helpers_test.rb +2 -0
  213. data/test/test_helper.rb +2 -0
  214. data/test/test_models.rb +2 -0
  215. metadata +8 -3
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require "omniauth"
3
5
  require "omniauth/version"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  module OmniAuth
3
5
  class StrategyNotFound < NameError
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  module OmniAuth
3
5
  module UrlHelpers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'orm_adapter/adapters/active_record'
2
4
 
3
5
  ActiveSupport.on_load(:active_record) do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ActiveSupport.on_load(:mongoid) do
2
4
  require 'orm_adapter/adapters/mongoid'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  class ParameterFilter
3
5
  def initialize(case_insensitive_keys, strip_whitespace_keys)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  # The +ParameterSanitizer+ deals with permitting specific parameters values
3
5
  # for each +Devise+ scope in the application.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'devise/rails/routes'
2
4
  require 'devise/rails/warden_compat'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/core_ext/object/try"
2
4
  require "active_support/core_ext/hash/slice"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Warden::Mixins::Common
2
4
  def request
3
5
  @request ||= ActionDispatch::Request.new(env)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'devise/strategies/base'
2
4
 
3
5
  module Devise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  module Strategies
3
5
  # Base strategy for Devise. Responsible for verifying correct scope and mapping.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'devise/strategies/authenticatable'
2
4
 
3
5
  module Devise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'devise/strategies/authenticatable'
2
4
 
3
5
  module Devise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  module Test
3
5
  # `Devise::Test::ControllerHelpers` provides a facility to test controllers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  # Devise::Test::IntegrationHelpers is a helper module for facilitating
3
5
  # authentication on Rails integration tests to bypass the required steps for
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  module TestHelpers
3
5
  def self.included(base)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/core_ext/module/delegation"
2
4
 
3
5
  module Devise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'openssl'
2
4
 
3
5
  module Devise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
- VERSION = "4.3.0".freeze
4
+ VERSION = "4.4.0".freeze
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators/active_record'
2
4
  require 'generators/devise/orm_helpers'
3
5
 
@@ -6,14 +8,16 @@ module ActiveRecord
6
8
  class DeviseGenerator < ActiveRecord::Generators::Base
7
9
  argument :attributes, type: :array, default: [], banner: "field:type field:type"
8
10
 
11
+ class_option :primary_key_type, type: :string, desc: "The type for primary key"
12
+
9
13
  include Devise::Generators::OrmHelpers
10
14
  source_root File.expand_path("../templates", __FILE__)
11
15
 
12
16
  def copy_devise_migration
13
17
  if (behavior == :invoke && model_exists?) || (behavior == :revoke && migration_exists?(table_name))
14
- migration_template "migration_existing.rb", "db/migrate/add_devise_to_#{table_name}.rb", migration_version: migration_version
18
+ migration_template "migration_existing.rb", "#{migration_path}/add_devise_to_#{table_name}.rb", migration_version: migration_version
15
19
  else
16
- migration_template "migration.rb", "db/migrate/devise_create_#{table_name}.rb", migration_version: migration_version
20
+ migration_template "migration.rb", "#{migration_path}/devise_create_#{table_name}.rb", migration_version: migration_version
17
21
  end
18
22
  end
19
23
 
@@ -92,6 +96,15 @@ RUBY
92
96
  "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
93
97
  end
94
98
  end
99
+
100
+ def primary_key_type
101
+ primary_key_string if rails5?
102
+ end
103
+
104
+ def primary_key_string
105
+ key_string = options[:primary_key_type]
106
+ ", id: :#{key_string}" if key_string
107
+ end
95
108
  end
96
109
  end
97
110
  end
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DeviseCreate<%= table_name.camelize %> < ActiveRecord::Migration<%= migration_version %>
2
4
  def change
3
- create_table :<%= table_name %> do |t|
5
+ create_table :<%= table_name %><%= primary_key_type %> do |t|
4
6
  <%= migration_data -%>
5
7
 
6
8
  <% attributes.each do |attribute| -%>
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class AddDeviseTo<%= table_name.camelize %> < ActiveRecord::Migration<%= migration_version %>
2
4
  def self.up
3
5
  change_table :<%= table_name %> do |t|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators/base'
2
4
 
3
5
  module Devise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators/named_base'
2
4
 
3
5
  module Devise
@@ -8,7 +10,7 @@ module Devise
8
10
  namespace "devise"
9
11
  source_root File.expand_path("../templates", __FILE__)
10
12
 
11
- desc "Generates a model with the given NAME (if one does not exist) with devise " <<
13
+ desc "Generates a model with the given NAME (if one does not exist) with devise " \
12
14
  "configuration plus a migration file and devise routes."
13
15
 
14
16
  hook_for :orm
@@ -16,7 +18,7 @@ module Devise
16
18
  class_option :routes, desc: "Generate routes", type: :boolean, default: true
17
19
 
18
20
  def add_devise_routes
19
- devise_route = "devise_for :#{plural_name}"
21
+ devise_route = "devise_for :#{plural_name}".dup
20
22
  devise_route << %Q(, class_name: "#{class_name}") if class_name.include?("::")
21
23
  devise_route << %Q(, skip: :all) unless options.routes?
22
24
  route devise_route
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators/base'
2
4
  require 'securerandom'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Devise
2
4
  module Generators
3
5
  module OrmHelpers
@@ -23,7 +25,11 @@ CONTENT
23
25
  end
24
26
 
25
27
  def migration_path
26
- @migration_path ||= File.join("db", "migrate")
28
+ if Rails.version >= '5.0.3'
29
+ db_migrate_path
30
+ else
31
+ @migration_path ||= File.join("db", "migrate")
32
+ end
27
33
  end
28
34
 
29
35
  def model_path
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators/base'
2
4
 
3
5
  module Devise
@@ -21,13 +23,6 @@ module Devise
21
23
  public_task :copy_views
22
24
  end
23
25
 
24
- # TODO: Add this to Rails itself
25
- module ClassMethods
26
- def hide!
27
- Rails::Generators.hide_namespace self.namespace
28
- end
29
- end
30
-
31
26
  def copy_views
32
27
  if options[:views]
33
28
  options[:views].each do |directory|
@@ -139,7 +134,11 @@ module Devise
139
134
  default: defined?(SimpleForm) ? "simple_form_for" : "form_for"
140
135
 
141
136
  hook_for :markerb, desc: "Generate markerb instead of erb mail views",
142
- default: defined?(Markerb) ? :markerb : :erb,
137
+ default: defined?(Markerb),
138
+ type: :boolean
139
+
140
+ hook_for :erb, desc: "Generate erb mail views",
141
+ default: !defined?(Markerb),
143
142
  type: :boolean
144
143
  end
145
144
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators/named_base'
2
4
  require 'generators/devise/orm_helpers'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class <%= @scope_prefix %>ConfirmationsController < Devise::ConfirmationsController
2
4
  # GET /resource/confirmation/new
3
5
  # def new
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class <%= @scope_prefix %>OmniauthCallbacksController < Devise::OmniauthCallbacksController
2
4
  # You should configure your model like this:
3
5
  # devise :omniauthable, omniauth_providers: [:twitter]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class <%= @scope_prefix %>PasswordsController < Devise::PasswordsController
2
4
  # GET /resource/password/new
3
5
  # def new
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class <%= @scope_prefix %>RegistrationsController < Devise::RegistrationsController
2
4
  # before_action :configure_sign_up_params, only: [:create]
3
5
  # before_action :configure_account_update_params, only: [:update]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class <%= @scope_prefix %>SessionsController < Devise::SessionsController
2
4
  # before_action :configure_sign_in_params, only: [:create]
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class <%= @scope_prefix %>UnlocksController < Devise::UnlocksController
2
4
  # GET /resource/unlock/new
3
5
  # def new
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Use this hook to configure devise mailer, warden hooks and so forth.
2
4
  # Many of these configuration options can be set straight in your model.
3
5
  Devise.setup do |config|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class CustomRegistrationsControllerTest < Devise::ControllerTestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  require 'ostruct'
3
5
  require 'warden/strategies/base'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class ApiController < ActionController::Metal
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  require 'ostruct'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class SessionsInheritedController < Devise::SessionsController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class MyController < DeviseController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class LoadHooksControllerTest < Devise::ControllerTestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class PasswordsControllerTest < Devise::ControllerTestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class SessionsControllerTest < Devise::ControllerTestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class RoutesTest < Devise::ControllerTestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class DelegatorTest < ActiveSupport::TestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module Devise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  require 'ostruct'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "test_helper"
2
4
 
3
5
  if DEVISE_ORM == :active_record
@@ -13,6 +15,20 @@ if DEVISE_ORM == :active_record
13
15
  assert_migration "db/migrate/devise_create_monsters.rb", /def change/
14
16
  end
15
17
 
18
+ test "all files are properly created with changed db/migrate path in application configuration" do
19
+ old_paths = Rails.application.config.paths["db/migrate"]
20
+ Rails.application.config.paths.add "db/migrate", with: "db2/migrate"
21
+
22
+ run_generator %w(monster)
23
+ if Rails.version >= '5.0.3'
24
+ assert_migration "db2/migrate/devise_create_monsters.rb", /def change/
25
+ else
26
+ assert_migration "db/migrate/devise_create_monsters.rb", /def change/
27
+ end
28
+
29
+ Rails.application.config.paths["db/migrate"] = old_paths
30
+ end
31
+
16
32
  test "all files for namespaced model are properly created" do
17
33
  run_generator %w(admin/monster)
18
34
  assert_migration "db/migrate/devise_create_admin_monsters.rb", /def change/
@@ -25,6 +41,23 @@ if DEVISE_ORM == :active_record
25
41
  assert_migration "db/migrate/add_devise_to_monsters.rb"
26
42
  end
27
43
 
44
+ test "update model migration when model exists with changed db/migrate path in application configuration" do
45
+ old_paths = Rails.application.config.paths["db/migrate"]
46
+ Rails.application.config.paths.add "db/migrate", with: "db2/migrate"
47
+
48
+ run_generator %w(monster)
49
+ assert_file "app/models/monster.rb"
50
+ run_generator %w(monster)
51
+
52
+ if Rails.version >= '5.0.3'
53
+ assert_migration "db2/migrate/add_devise_to_monsters.rb"
54
+ else
55
+ assert_migration "db/migrate/add_devise_to_monsters.rb"
56
+ end
57
+
58
+ Rails.application.config.paths["db/migrate"] = old_paths
59
+ end
60
+
28
61
  test "all files are properly deleted" do
29
62
  run_generator %w(monster)
30
63
  run_generator %w(monster)
@@ -43,6 +76,20 @@ if DEVISE_ORM == :active_record
43
76
  assert_migration "db/migrate/devise_create_monsters.rb", /t.string :current_sign_in_ip/
44
77
  assert_migration "db/migrate/devise_create_monsters.rb", /t.string :last_sign_in_ip/
45
78
  end
79
+
80
+ test "do NOT add primary key type when NOT specified in rails generator" do
81
+ run_generator %w(monster)
82
+ assert_migration "db/migrate/devise_create_monsters.rb", /create_table :monsters do/
83
+ end
84
+
85
+ test "add primary key type with rails 5 when specified in rails generator" do
86
+ run_generator ["monster", "--primary_key_type=uuid"]
87
+ if Rails.version.start_with? '5'
88
+ assert_migration "db/migrate/devise_create_monsters.rb", /create_table :monsters, id: :uuid do/
89
+ else
90
+ assert_migration "db/migrate/devise_create_monsters.rb", /create_table :monsters do/
91
+ end
92
+ end
46
93
  end
47
94
 
48
95
  module RailsEngine