devise 3.2.1 → 4.4.3

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 (254) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +58 -10
  3. data/CHANGELOG.md +199 -979
  4. data/CODE_OF_CONDUCT.md +22 -0
  5. data/CONTRIBUTING.md +73 -8
  6. data/Gemfile +19 -11
  7. data/Gemfile.lock +152 -119
  8. data/ISSUE_TEMPLATE.md +19 -0
  9. data/MIT-LICENSE +1 -1
  10. data/README.md +347 -93
  11. data/Rakefile +4 -2
  12. data/app/controllers/devise/confirmations_controller.rb +11 -5
  13. data/app/controllers/devise/omniauth_callbacks_controller.rb +12 -6
  14. data/app/controllers/devise/passwords_controller.rb +20 -8
  15. data/app/controllers/devise/registrations_controller.rb +34 -19
  16. data/app/controllers/devise/sessions_controller.rb +47 -17
  17. data/app/controllers/devise/unlocks_controller.rb +9 -4
  18. data/app/controllers/devise_controller.rb +67 -31
  19. data/app/helpers/devise_helper.rb +4 -2
  20. data/app/mailers/devise/mailer.rb +10 -0
  21. data/app/views/devise/confirmations/new.html.erb +8 -4
  22. data/app/views/devise/mailer/confirmation_instructions.html.erb +1 -1
  23. data/app/views/devise/mailer/email_changed.html.erb +7 -0
  24. data/app/views/devise/mailer/password_change.html.erb +3 -0
  25. data/app/views/devise/mailer/reset_password_instructions.html.erb +1 -1
  26. data/app/views/devise/mailer/unlock_instructions.html.erb +1 -1
  27. data/app/views/devise/passwords/edit.html.erb +15 -6
  28. data/app/views/devise/passwords/new.html.erb +8 -4
  29. data/app/views/devise/registrations/edit.html.erb +28 -14
  30. data/app/views/devise/registrations/new.html.erb +19 -8
  31. data/app/views/devise/sessions/new.html.erb +17 -8
  32. data/app/views/devise/shared/{_links.erb → _links.html.erb} +2 -2
  33. data/app/views/devise/unlocks/new.html.erb +8 -4
  34. data/bin/test +13 -0
  35. data/config/locales/en.yml +22 -17
  36. data/devise.gemspec +7 -6
  37. data/gemfiles/Gemfile.rails-4.1-stable +32 -0
  38. data/gemfiles/Gemfile.rails-4.1-stable.lock +171 -0
  39. data/gemfiles/Gemfile.rails-4.2-stable +32 -0
  40. data/gemfiles/Gemfile.rails-4.2-stable.lock +192 -0
  41. data/gemfiles/Gemfile.rails-5.0-stable +33 -0
  42. data/gemfiles/Gemfile.rails-5.0-stable.lock +192 -0
  43. data/gemfiles/Gemfile.rails-5.2-rc1 +26 -0
  44. data/gemfiles/Gemfile.rails-5.2-rc1.lock +201 -0
  45. data/guides/bug_report_templates/integration_test.rb +106 -0
  46. data/lib/devise.rb +107 -84
  47. data/lib/devise/controllers/helpers.rb +111 -31
  48. data/lib/devise/controllers/rememberable.rb +15 -6
  49. data/lib/devise/controllers/scoped_views.rb +3 -1
  50. data/lib/devise/controllers/sign_in_out.rb +39 -26
  51. data/lib/devise/controllers/store_location.rb +31 -2
  52. data/lib/devise/controllers/url_helpers.rb +9 -7
  53. data/lib/devise/delegator.rb +2 -0
  54. data/lib/devise/encryptor.rb +24 -0
  55. data/lib/devise/failure_app.rb +98 -39
  56. data/lib/devise/hooks/activatable.rb +7 -6
  57. data/lib/devise/hooks/csrf_cleaner.rb +5 -1
  58. data/lib/devise/hooks/forgetable.rb +2 -0
  59. data/lib/devise/hooks/lockable.rb +7 -2
  60. data/lib/devise/hooks/proxy.rb +4 -2
  61. data/lib/devise/hooks/rememberable.rb +4 -2
  62. data/lib/devise/hooks/timeoutable.rb +16 -9
  63. data/lib/devise/hooks/trackable.rb +3 -1
  64. data/lib/devise/mailers/helpers.rb +15 -12
  65. data/lib/devise/mapping.rb +8 -2
  66. data/lib/devise/models.rb +3 -1
  67. data/lib/devise/models/authenticatable.rb +63 -36
  68. data/lib/devise/models/confirmable.rb +121 -41
  69. data/lib/devise/models/database_authenticatable.rb +66 -23
  70. data/lib/devise/models/lockable.rb +30 -17
  71. data/lib/devise/models/omniauthable.rb +3 -1
  72. data/lib/devise/models/recoverable.rb +62 -26
  73. data/lib/devise/models/registerable.rb +2 -0
  74. data/lib/devise/models/rememberable.rb +62 -33
  75. data/lib/devise/models/timeoutable.rb +4 -8
  76. data/lib/devise/models/trackable.rb +12 -3
  77. data/lib/devise/models/validatable.rb +16 -9
  78. data/lib/devise/modules.rb +12 -10
  79. data/lib/devise/omniauth.rb +2 -0
  80. data/lib/devise/omniauth/config.rb +2 -0
  81. data/lib/devise/omniauth/url_helpers.rb +14 -5
  82. data/lib/devise/orm/active_record.rb +5 -1
  83. data/lib/devise/orm/mongoid.rb +6 -2
  84. data/lib/devise/parameter_filter.rb +2 -0
  85. data/lib/devise/parameter_sanitizer.rb +131 -69
  86. data/lib/devise/rails.rb +10 -13
  87. data/lib/devise/rails/routes.rb +147 -116
  88. data/lib/devise/rails/warden_compat.rb +3 -10
  89. data/lib/devise/secret_key_finder.rb +25 -0
  90. data/lib/devise/strategies/authenticatable.rb +20 -9
  91. data/lib/devise/strategies/base.rb +3 -1
  92. data/lib/devise/strategies/database_authenticatable.rb +8 -5
  93. data/lib/devise/strategies/rememberable.rb +15 -3
  94. data/lib/devise/test/controller_helpers.rb +165 -0
  95. data/lib/devise/test/integration_helpers.rb +63 -0
  96. data/lib/devise/test_helpers.rb +7 -124
  97. data/lib/devise/time_inflector.rb +4 -2
  98. data/lib/devise/token_generator.rb +3 -41
  99. data/lib/devise/version.rb +3 -1
  100. data/lib/generators/active_record/devise_generator.rb +47 -10
  101. data/lib/generators/active_record/templates/migration.rb +9 -7
  102. data/lib/generators/active_record/templates/migration_existing.rb +9 -7
  103. data/lib/generators/devise/controllers_generator.rb +46 -0
  104. data/lib/generators/devise/devise_generator.rb +9 -5
  105. data/lib/generators/devise/install_generator.rb +22 -0
  106. data/lib/generators/devise/orm_helpers.rb +8 -19
  107. data/lib/generators/devise/views_generator.rb +51 -28
  108. data/lib/generators/mongoid/devise_generator.rb +22 -19
  109. data/lib/generators/templates/README +5 -12
  110. data/lib/generators/templates/controllers/README +14 -0
  111. data/lib/generators/templates/controllers/confirmations_controller.rb +30 -0
  112. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +30 -0
  113. data/lib/generators/templates/controllers/passwords_controller.rb +34 -0
  114. data/lib/generators/templates/controllers/registrations_controller.rb +62 -0
  115. data/lib/generators/templates/controllers/sessions_controller.rb +27 -0
  116. data/lib/generators/templates/controllers/unlocks_controller.rb +30 -0
  117. data/lib/generators/templates/devise.rb +64 -35
  118. data/lib/generators/templates/markerb/confirmation_instructions.markerb +1 -1
  119. data/lib/generators/templates/markerb/email_changed.markerb +7 -0
  120. data/lib/generators/templates/markerb/password_change.markerb +3 -0
  121. data/lib/generators/templates/markerb/reset_password_instructions.markerb +1 -1
  122. data/lib/generators/templates/markerb/unlock_instructions.markerb +1 -1
  123. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +2 -2
  124. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +4 -4
  125. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +2 -2
  126. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +6 -6
  127. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +4 -4
  128. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +6 -6
  129. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +2 -2
  130. data/test/controllers/custom_registrations_controller_test.rb +42 -0
  131. data/test/controllers/custom_strategy_test.rb +10 -6
  132. data/test/controllers/helper_methods_test.rb +24 -0
  133. data/test/controllers/helpers_test.rb +88 -40
  134. data/test/controllers/inherited_controller_i18n_messages_test.rb +53 -0
  135. data/test/controllers/internal_helpers_test.rb +31 -22
  136. data/test/controllers/load_hooks_controller_test.rb +21 -0
  137. data/test/controllers/passwords_controller_test.rb +8 -5
  138. data/test/controllers/sessions_controller_test.rb +42 -33
  139. data/test/controllers/url_helpers_test.rb +13 -5
  140. data/test/delegator_test.rb +3 -1
  141. data/test/devise_test.rb +34 -19
  142. data/test/failure_app_test.rb +150 -42
  143. data/test/generators/active_record_generator_test.rb +58 -31
  144. data/test/generators/controllers_generator_test.rb +50 -0
  145. data/test/generators/devise_generator_test.rb +4 -2
  146. data/test/generators/install_generator_test.rb +16 -3
  147. data/test/generators/mongoid_generator_test.rb +5 -3
  148. data/test/generators/views_generator_test.rb +40 -2
  149. data/test/helpers/devise_helper_test.rb +20 -20
  150. data/test/integration/authenticatable_test.rb +134 -141
  151. data/test/integration/confirmable_test.rb +109 -67
  152. data/test/integration/database_authenticatable_test.rb +36 -23
  153. data/test/integration/http_authenticatable_test.rb +29 -20
  154. data/test/integration/lockable_test.rb +52 -49
  155. data/test/integration/mounted_engine_test.rb +38 -0
  156. data/test/integration/omniauthable_test.rb +30 -15
  157. data/test/integration/recoverable_test.rb +76 -61
  158. data/test/integration/registerable_test.rb +107 -91
  159. data/test/integration/rememberable_test.rb +82 -30
  160. data/test/integration/timeoutable_test.rb +48 -40
  161. data/test/integration/trackable_test.rb +15 -8
  162. data/test/mailers/confirmation_instructions_test.rb +16 -14
  163. data/test/mailers/email_changed_test.rb +132 -0
  164. data/test/mailers/mailer_test.rb +20 -0
  165. data/test/mailers/reset_password_instructions_test.rb +13 -11
  166. data/test/mailers/unlock_instructions_test.rb +12 -10
  167. data/test/mapping_test.rb +15 -6
  168. data/test/models/authenticatable_test.rb +15 -3
  169. data/test/models/confirmable_test.rb +190 -95
  170. data/test/models/database_authenticatable_test.rb +75 -41
  171. data/test/models/lockable_test.rb +115 -61
  172. data/test/models/omniauthable_test.rb +3 -1
  173. data/test/models/recoverable_test.rb +116 -37
  174. data/test/models/registerable_test.rb +3 -1
  175. data/test/models/rememberable_test.rb +95 -94
  176. data/test/models/serializable_test.rb +19 -8
  177. data/test/models/timeoutable_test.rb +10 -8
  178. data/test/models/trackable_test.rb +50 -1
  179. data/test/models/validatable_test.rb +24 -30
  180. data/test/models_test.rb +19 -8
  181. data/test/omniauth/config_test.rb +15 -11
  182. data/test/omniauth/url_helpers_test.rb +8 -9
  183. data/test/orm/active_record.rb +16 -2
  184. data/test/orm/mongoid.rb +4 -2
  185. data/test/parameter_sanitizer_test.rb +53 -57
  186. data/test/rails_app/app/active_record/admin.rb +2 -0
  187. data/test/rails_app/app/active_record/shim.rb +3 -1
  188. data/test/rails_app/app/active_record/user.rb +14 -0
  189. data/test/rails_app/app/active_record/user_on_engine.rb +9 -0
  190. data/test/rails_app/app/active_record/user_on_main_app.rb +9 -0
  191. data/test/rails_app/app/active_record/user_with_validations.rb +12 -0
  192. data/test/rails_app/app/active_record/user_without_email.rb +10 -0
  193. data/test/rails_app/app/controllers/admins/sessions_controller.rb +3 -1
  194. data/test/rails_app/app/controllers/admins_controller.rb +3 -6
  195. data/test/rails_app/app/controllers/application_controller.rb +7 -3
  196. data/test/rails_app/app/controllers/application_with_fake_engine.rb +32 -0
  197. data/test/rails_app/app/controllers/custom/registrations_controller.rb +33 -0
  198. data/test/rails_app/app/controllers/home_controller.rb +7 -1
  199. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +3 -1
  200. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +3 -1
  201. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +7 -5
  202. data/test/rails_app/app/controllers/users_controller.rb +8 -6
  203. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  204. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +5 -0
  205. data/test/rails_app/app/mailers/users/mailer.rb +3 -10
  206. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +6 -0
  207. data/test/rails_app/app/mongoid/admin.rb +13 -11
  208. data/test/rails_app/app/mongoid/shim.rb +4 -2
  209. data/test/rails_app/app/mongoid/user.rb +30 -19
  210. data/test/rails_app/app/mongoid/user_on_engine.rb +41 -0
  211. data/test/rails_app/app/mongoid/user_on_main_app.rb +41 -0
  212. data/test/rails_app/app/mongoid/user_with_validations.rb +37 -0
  213. data/test/rails_app/app/mongoid/user_without_email.rb +35 -0
  214. data/test/rails_app/app/views/admins/sessions/new.html.erb +1 -1
  215. data/test/rails_app/app/views/home/admin_dashboard.html.erb +1 -1
  216. data/test/rails_app/app/views/home/index.html.erb +1 -1
  217. data/test/rails_app/app/views/home/join.html.erb +1 -1
  218. data/test/rails_app/app/views/home/user_dashboard.html.erb +1 -1
  219. data/test/rails_app/app/views/layouts/application.html.erb +1 -1
  220. data/test/rails_app/config/application.rb +13 -5
  221. data/test/rails_app/config/boot.rb +17 -4
  222. data/test/rails_app/config/environment.rb +2 -0
  223. data/test/rails_app/config/environments/development.rb +2 -0
  224. data/test/rails_app/config/environments/production.rb +10 -2
  225. data/test/rails_app/config/environments/test.rb +14 -3
  226. data/test/rails_app/config/initializers/backtrace_silencers.rb +2 -0
  227. data/test/rails_app/config/initializers/devise.rb +22 -21
  228. data/test/rails_app/config/initializers/inflections.rb +2 -0
  229. data/test/rails_app/config/initializers/secret_token.rb +3 -6
  230. data/test/rails_app/config/initializers/session_store.rb +2 -0
  231. data/test/rails_app/config/routes.rb +67 -43
  232. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +16 -10
  233. data/test/rails_app/db/schema.rb +2 -0
  234. data/test/rails_app/lib/shared_admin.rb +10 -4
  235. data/test/rails_app/lib/shared_user.rb +4 -1
  236. data/test/rails_app/lib/shared_user_without_email.rb +28 -0
  237. data/test/rails_app/lib/shared_user_without_omniauth.rb +15 -0
  238. data/test/rails_test.rb +11 -0
  239. data/test/routes_test.rb +92 -61
  240. data/test/secret_key_finder_test.rb +97 -0
  241. data/test/support/action_controller/record_identifier.rb +12 -0
  242. data/test/support/assertions.rb +4 -14
  243. data/test/support/helpers.rb +23 -10
  244. data/test/support/http_method_compatibility.rb +53 -0
  245. data/test/support/integration.rb +19 -16
  246. data/test/support/mongoid.yml +6 -0
  247. data/test/support/webrat/integrations/rails.rb +11 -0
  248. data/test/{test_helpers_test.rb → test/controller_helpers_test.rb} +60 -40
  249. data/test/test/integration_helpers_test.rb +34 -0
  250. data/test/test_helper.rb +9 -0
  251. data/test/test_models.rb +8 -6
  252. metadata +123 -53
  253. data/gemfiles/Gemfile.rails-3.2.x +0 -31
  254. data/gemfiles/Gemfile.rails-3.2.x.lock +0 -159
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class TestIntegrationsHelpersTest < Devise::IntegrationTest
6
+ include Devise::Test::IntegrationHelpers
7
+
8
+ test '#sign_in signs in the resource directly' do
9
+ sign_in(create_user)
10
+
11
+ visit '/'
12
+ assert warden.authenticated?(:user)
13
+ end
14
+
15
+ test '#sign_outs signs out in the resource directly' do
16
+ user = create_user
17
+ sign_in user
18
+ sign_out user
19
+
20
+ visit '/'
21
+ refute warden.authenticated?(:user)
22
+ end
23
+
24
+ test '#sign_out does not signs out other scopes' do
25
+ sign_in(create_user)
26
+ sign_in(create_admin)
27
+ sign_out :user
28
+
29
+ visit '/'
30
+
31
+ refute warden.authenticated?(:user)
32
+ assert warden.authenticated?(:admin)
33
+ end
34
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ENV["RAILS_ENV"] = "test"
2
4
  DEVISE_ORM = (ENV["DEVISE_ORM"] || :active_record).to_sym
3
5
 
@@ -17,6 +19,12 @@ Webrat.configure do |config|
17
19
  config.open_error_files = false
18
20
  end
19
21
 
22
+ if ActiveSupport.respond_to?(:test_order)
23
+ ActiveSupport.test_order = :random
24
+ end
25
+
26
+ OmniAuth.config.logger = Logger.new('/dev/null')
27
+
20
28
  # Add support to load paths so we can overwrite broken webrat setup
21
29
  $:.unshift File.expand_path('../support', __FILE__)
22
30
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
@@ -25,3 +33,4 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
25
33
  require "rails/generators/test_case"
26
34
  require "generators/devise/install_generator"
27
35
  require "generators/devise/views_generator"
36
+ require "generators/devise/controllers_generator"
@@ -1,18 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Configurable < User
2
4
  devise :database_authenticatable, :confirmable, :rememberable, :timeoutable, :lockable,
3
- :stretches => 15, :pepper => 'abcdef', :allow_unconfirmed_access_for => 5.days,
4
- :remember_for => 7.days, :timeout_in => 15.minutes, :unlock_in => 10.days
5
+ stretches: 15, pepper: 'abcdef', allow_unconfirmed_access_for: 5.days,
6
+ remember_for: 7.days, timeout_in: 15.minutes, unlock_in: 10.days
5
7
  end
6
8
 
7
9
  class WithValidation < Admin
8
- devise :database_authenticatable, :validatable, :password_length => 2..6
10
+ devise :database_authenticatable, :validatable, password_length: 2..6
9
11
  end
10
12
 
11
13
  class UserWithValidation < User
12
14
  validates_presence_of :username
13
15
  end
14
16
 
15
- class UserWithCustomEncryption < User
17
+ class UserWithCustomHashing < User
16
18
  protected
17
19
  def password_digest(password)
18
20
  password.reverse
@@ -20,8 +22,8 @@ class UserWithCustomEncryption < User
20
22
  end
21
23
 
22
24
  class UserWithVirtualAttributes < User
23
- devise :case_insensitive_keys => [ :email, :email_confirmation ]
24
- validates :email, :presence => true, :confirmation => {:on => :create}
25
+ devise case_insensitive_keys: [:email, :email_confirmation]
26
+ validates :email, presence: true, confirmation: { on: :create }
25
27
  end
26
28
 
27
29
  class Several < Admin
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
5
- prerelease:
4
+ version: 4.4.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - José Valim
@@ -10,107 +9,99 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-11-13 00:00:00.000000000 Z
12
+ date: 2018-03-18 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: warden
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - "~>"
21
19
  - !ruby/object:Gem::Version
22
20
  version: 1.2.3
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - "~>"
29
26
  - !ruby/object:Gem::Version
30
27
  version: 1.2.3
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: orm_adapter
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ~>
32
+ - - "~>"
37
33
  - !ruby/object:Gem::Version
38
34
  version: '0.1'
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ~>
39
+ - - "~>"
45
40
  - !ruby/object:Gem::Version
46
41
  version: '0.1'
47
42
  - !ruby/object:Gem::Dependency
48
- name: bcrypt-ruby
43
+ name: bcrypt
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ~>
46
+ - - "~>"
53
47
  - !ruby/object:Gem::Version
54
48
  version: '3.0'
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ~>
53
+ - - "~>"
61
54
  - !ruby/object:Gem::Version
62
55
  version: '3.0'
63
56
  - !ruby/object:Gem::Dependency
64
- name: thread_safe
57
+ name: railties
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ~>
60
+ - - ">="
69
61
  - !ruby/object:Gem::Version
70
- version: '0.1'
62
+ version: 4.1.0
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: '6.0'
71
66
  type: :runtime
72
67
  prerelease: false
73
68
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
69
  requirements:
76
- - - ~>
70
+ - - ">="
77
71
  - !ruby/object:Gem::Version
78
- version: '0.1'
72
+ version: 4.1.0
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '6.0'
79
76
  - !ruby/object:Gem::Dependency
80
- name: railties
77
+ name: responders
81
78
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
79
  requirements:
84
- - - ! '>='
85
- - !ruby/object:Gem::Version
86
- version: 3.2.6
87
- - - <
80
+ - - ">="
88
81
  - !ruby/object:Gem::Version
89
- version: '5'
82
+ version: '0'
90
83
  type: :runtime
91
84
  prerelease: false
92
85
  version_requirements: !ruby/object:Gem::Requirement
93
- none: false
94
86
  requirements:
95
- - - ! '>='
87
+ - - ">="
96
88
  - !ruby/object:Gem::Version
97
- version: 3.2.6
98
- - - <
99
- - !ruby/object:Gem::Version
100
- version: '5'
89
+ version: '0'
101
90
  description: Flexible authentication solution for Rails with Warden
102
91
  email: contact@plataformatec.com.br
103
92
  executables: []
104
93
  extensions: []
105
94
  extra_rdoc_files: []
106
95
  files:
107
- - .gitignore
108
- - .travis.yml
109
- - .yardopts
96
+ - ".gitignore"
97
+ - ".travis.yml"
98
+ - ".yardopts"
110
99
  - CHANGELOG.md
100
+ - CODE_OF_CONDUCT.md
111
101
  - CONTRIBUTING.md
112
102
  - Gemfile
113
103
  - Gemfile.lock
104
+ - ISSUE_TEMPLATE.md
114
105
  - MIT-LICENSE
115
106
  - README.md
116
107
  - Rakefile
@@ -125,6 +116,8 @@ files:
125
116
  - app/mailers/devise/mailer.rb
126
117
  - app/views/devise/confirmations/new.html.erb
127
118
  - app/views/devise/mailer/confirmation_instructions.html.erb
119
+ - app/views/devise/mailer/email_changed.html.erb
120
+ - app/views/devise/mailer/password_change.html.erb
128
121
  - app/views/devise/mailer/reset_password_instructions.html.erb
129
122
  - app/views/devise/mailer/unlock_instructions.html.erb
130
123
  - app/views/devise/passwords/edit.html.erb
@@ -132,13 +125,21 @@ files:
132
125
  - app/views/devise/registrations/edit.html.erb
133
126
  - app/views/devise/registrations/new.html.erb
134
127
  - app/views/devise/sessions/new.html.erb
135
- - app/views/devise/shared/_links.erb
128
+ - app/views/devise/shared/_links.html.erb
136
129
  - app/views/devise/unlocks/new.html.erb
130
+ - bin/test
137
131
  - config/locales/en.yml
138
132
  - devise.gemspec
139
133
  - devise.png
140
- - gemfiles/Gemfile.rails-3.2.x
141
- - gemfiles/Gemfile.rails-3.2.x.lock
134
+ - gemfiles/Gemfile.rails-4.1-stable
135
+ - gemfiles/Gemfile.rails-4.1-stable.lock
136
+ - gemfiles/Gemfile.rails-4.2-stable
137
+ - gemfiles/Gemfile.rails-4.2-stable.lock
138
+ - gemfiles/Gemfile.rails-5.0-stable
139
+ - gemfiles/Gemfile.rails-5.0-stable.lock
140
+ - gemfiles/Gemfile.rails-5.2-rc1
141
+ - gemfiles/Gemfile.rails-5.2-rc1.lock
142
+ - guides/bug_report_templates/integration_test.rb
142
143
  - lib/devise.rb
143
144
  - lib/devise/controllers/helpers.rb
144
145
  - lib/devise/controllers/rememberable.rb
@@ -147,6 +148,7 @@ files:
147
148
  - lib/devise/controllers/store_location.rb
148
149
  - lib/devise/controllers/url_helpers.rb
149
150
  - lib/devise/delegator.rb
151
+ - lib/devise/encryptor.rb
150
152
  - lib/devise/failure_app.rb
151
153
  - lib/devise/hooks/activatable.rb
152
154
  - lib/devise/hooks/csrf_cleaner.rb
@@ -181,10 +183,13 @@ files:
181
183
  - lib/devise/rails.rb
182
184
  - lib/devise/rails/routes.rb
183
185
  - lib/devise/rails/warden_compat.rb
186
+ - lib/devise/secret_key_finder.rb
184
187
  - lib/devise/strategies/authenticatable.rb
185
188
  - lib/devise/strategies/base.rb
186
189
  - lib/devise/strategies/database_authenticatable.rb
187
190
  - lib/devise/strategies/rememberable.rb
191
+ - lib/devise/test/controller_helpers.rb
192
+ - lib/devise/test/integration_helpers.rb
188
193
  - lib/devise/test_helpers.rb
189
194
  - lib/devise/time_inflector.rb
190
195
  - lib/devise/token_generator.rb
@@ -192,14 +197,24 @@ files:
192
197
  - lib/generators/active_record/devise_generator.rb
193
198
  - lib/generators/active_record/templates/migration.rb
194
199
  - lib/generators/active_record/templates/migration_existing.rb
200
+ - lib/generators/devise/controllers_generator.rb
195
201
  - lib/generators/devise/devise_generator.rb
196
202
  - lib/generators/devise/install_generator.rb
197
203
  - lib/generators/devise/orm_helpers.rb
198
204
  - lib/generators/devise/views_generator.rb
199
205
  - lib/generators/mongoid/devise_generator.rb
200
206
  - lib/generators/templates/README
207
+ - lib/generators/templates/controllers/README
208
+ - lib/generators/templates/controllers/confirmations_controller.rb
209
+ - lib/generators/templates/controllers/omniauth_callbacks_controller.rb
210
+ - lib/generators/templates/controllers/passwords_controller.rb
211
+ - lib/generators/templates/controllers/registrations_controller.rb
212
+ - lib/generators/templates/controllers/sessions_controller.rb
213
+ - lib/generators/templates/controllers/unlocks_controller.rb
201
214
  - lib/generators/templates/devise.rb
202
215
  - lib/generators/templates/markerb/confirmation_instructions.markerb
216
+ - lib/generators/templates/markerb/email_changed.markerb
217
+ - lib/generators/templates/markerb/password_change.markerb
203
218
  - lib/generators/templates/markerb/reset_password_instructions.markerb
204
219
  - lib/generators/templates/markerb/unlock_instructions.markerb
205
220
  - lib/generators/templates/simple_form_for/confirmations/new.html.erb
@@ -209,9 +224,13 @@ files:
209
224
  - lib/generators/templates/simple_form_for/registrations/new.html.erb
210
225
  - lib/generators/templates/simple_form_for/sessions/new.html.erb
211
226
  - lib/generators/templates/simple_form_for/unlocks/new.html.erb
227
+ - test/controllers/custom_registrations_controller_test.rb
212
228
  - test/controllers/custom_strategy_test.rb
229
+ - test/controllers/helper_methods_test.rb
213
230
  - test/controllers/helpers_test.rb
231
+ - test/controllers/inherited_controller_i18n_messages_test.rb
214
232
  - test/controllers/internal_helpers_test.rb
233
+ - test/controllers/load_hooks_controller_test.rb
215
234
  - test/controllers/passwords_controller_test.rb
216
235
  - test/controllers/sessions_controller_test.rb
217
236
  - test/controllers/url_helpers_test.rb
@@ -219,6 +238,7 @@ files:
219
238
  - test/devise_test.rb
220
239
  - test/failure_app_test.rb
221
240
  - test/generators/active_record_generator_test.rb
241
+ - test/generators/controllers_generator_test.rb
222
242
  - test/generators/devise_generator_test.rb
223
243
  - test/generators/install_generator_test.rb
224
244
  - test/generators/mongoid_generator_test.rb
@@ -229,6 +249,7 @@ files:
229
249
  - test/integration/database_authenticatable_test.rb
230
250
  - test/integration/http_authenticatable_test.rb
231
251
  - test/integration/lockable_test.rb
252
+ - test/integration/mounted_engine_test.rb
232
253
  - test/integration/omniauthable_test.rb
233
254
  - test/integration/recoverable_test.rb
234
255
  - test/integration/registerable_test.rb
@@ -236,6 +257,8 @@ files:
236
257
  - test/integration/timeoutable_test.rb
237
258
  - test/integration/trackable_test.rb
238
259
  - test/mailers/confirmation_instructions_test.rb
260
+ - test/mailers/email_changed_test.rb
261
+ - test/mailers/mailer_test.rb
239
262
  - test/mailers/reset_password_instructions_test.rb
240
263
  - test/mailers/unlock_instructions_test.rb
241
264
  - test/mapping_test.rb
@@ -261,19 +284,31 @@ files:
261
284
  - test/rails_app/app/active_record/admin.rb
262
285
  - test/rails_app/app/active_record/shim.rb
263
286
  - test/rails_app/app/active_record/user.rb
287
+ - test/rails_app/app/active_record/user_on_engine.rb
288
+ - test/rails_app/app/active_record/user_on_main_app.rb
289
+ - test/rails_app/app/active_record/user_with_validations.rb
290
+ - test/rails_app/app/active_record/user_without_email.rb
264
291
  - test/rails_app/app/controllers/admins/sessions_controller.rb
265
292
  - test/rails_app/app/controllers/admins_controller.rb
266
293
  - test/rails_app/app/controllers/application_controller.rb
294
+ - test/rails_app/app/controllers/application_with_fake_engine.rb
295
+ - test/rails_app/app/controllers/custom/registrations_controller.rb
267
296
  - test/rails_app/app/controllers/home_controller.rb
268
297
  - test/rails_app/app/controllers/publisher/registrations_controller.rb
269
298
  - test/rails_app/app/controllers/publisher/sessions_controller.rb
270
299
  - test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb
271
300
  - test/rails_app/app/controllers/users_controller.rb
272
301
  - test/rails_app/app/helpers/application_helper.rb
302
+ - test/rails_app/app/mailers/users/from_proc_mailer.rb
273
303
  - test/rails_app/app/mailers/users/mailer.rb
304
+ - test/rails_app/app/mailers/users/reply_to_mailer.rb
274
305
  - test/rails_app/app/mongoid/admin.rb
275
306
  - test/rails_app/app/mongoid/shim.rb
276
307
  - test/rails_app/app/mongoid/user.rb
308
+ - test/rails_app/app/mongoid/user_on_engine.rb
309
+ - test/rails_app/app/mongoid/user_on_main_app.rb
310
+ - test/rails_app/app/mongoid/user_with_validations.rb
311
+ - test/rails_app/app/mongoid/user_without_email.rb
277
312
  - test/rails_app/app/views/admins/index.html.erb
278
313
  - test/rails_app/app/views/admins/sessions/new.html.erb
279
314
  - test/rails_app/app/views/home/admin_dashboard.html.erb
@@ -307,48 +342,59 @@ files:
307
342
  - test/rails_app/db/schema.rb
308
343
  - test/rails_app/lib/shared_admin.rb
309
344
  - test/rails_app/lib/shared_user.rb
345
+ - test/rails_app/lib/shared_user_without_email.rb
346
+ - test/rails_app/lib/shared_user_without_omniauth.rb
310
347
  - test/rails_app/public/404.html
311
348
  - test/rails_app/public/422.html
312
349
  - test/rails_app/public/500.html
313
350
  - test/rails_app/public/favicon.ico
351
+ - test/rails_test.rb
314
352
  - test/routes_test.rb
353
+ - test/secret_key_finder_test.rb
354
+ - test/support/action_controller/record_identifier.rb
315
355
  - test/support/assertions.rb
316
356
  - test/support/helpers.rb
357
+ - test/support/http_method_compatibility.rb
317
358
  - test/support/integration.rb
318
359
  - test/support/locale/en.yml
360
+ - test/support/mongoid.yml
319
361
  - test/support/webrat/integrations/rails.rb
362
+ - test/test/controller_helpers_test.rb
363
+ - test/test/integration_helpers_test.rb
320
364
  - test/test_helper.rb
321
- - test/test_helpers_test.rb
322
365
  - test/test_models.rb
323
- homepage: http://github.com/plataformatec/devise
366
+ homepage: https://github.com/plataformatec/devise
324
367
  licenses:
325
368
  - MIT
369
+ metadata: {}
326
370
  post_install_message:
327
371
  rdoc_options: []
328
372
  require_paths:
329
373
  - lib
330
374
  required_ruby_version: !ruby/object:Gem::Requirement
331
- none: false
332
375
  requirements:
333
- - - ! '>='
376
+ - - ">="
334
377
  - !ruby/object:Gem::Version
335
- version: '0'
378
+ version: 2.1.0
336
379
  required_rubygems_version: !ruby/object:Gem::Requirement
337
- none: false
338
380
  requirements:
339
- - - ! '>='
381
+ - - ">="
340
382
  - !ruby/object:Gem::Version
341
383
  version: '0'
342
384
  requirements: []
343
- rubyforge_project: devise
344
- rubygems_version: 1.8.23
385
+ rubyforge_project:
386
+ rubygems_version: 2.7.3
345
387
  signing_key:
346
- specification_version: 3
388
+ specification_version: 4
347
389
  summary: Flexible authentication solution for Rails with Warden
348
390
  test_files:
391
+ - test/controllers/custom_registrations_controller_test.rb
349
392
  - test/controllers/custom_strategy_test.rb
393
+ - test/controllers/helper_methods_test.rb
350
394
  - test/controllers/helpers_test.rb
395
+ - test/controllers/inherited_controller_i18n_messages_test.rb
351
396
  - test/controllers/internal_helpers_test.rb
397
+ - test/controllers/load_hooks_controller_test.rb
352
398
  - test/controllers/passwords_controller_test.rb
353
399
  - test/controllers/sessions_controller_test.rb
354
400
  - test/controllers/url_helpers_test.rb
@@ -356,6 +402,7 @@ test_files:
356
402
  - test/devise_test.rb
357
403
  - test/failure_app_test.rb
358
404
  - test/generators/active_record_generator_test.rb
405
+ - test/generators/controllers_generator_test.rb
359
406
  - test/generators/devise_generator_test.rb
360
407
  - test/generators/install_generator_test.rb
361
408
  - test/generators/mongoid_generator_test.rb
@@ -366,6 +413,7 @@ test_files:
366
413
  - test/integration/database_authenticatable_test.rb
367
414
  - test/integration/http_authenticatable_test.rb
368
415
  - test/integration/lockable_test.rb
416
+ - test/integration/mounted_engine_test.rb
369
417
  - test/integration/omniauthable_test.rb
370
418
  - test/integration/recoverable_test.rb
371
419
  - test/integration/registerable_test.rb
@@ -373,6 +421,8 @@ test_files:
373
421
  - test/integration/timeoutable_test.rb
374
422
  - test/integration/trackable_test.rb
375
423
  - test/mailers/confirmation_instructions_test.rb
424
+ - test/mailers/email_changed_test.rb
425
+ - test/mailers/mailer_test.rb
376
426
  - test/mailers/reset_password_instructions_test.rb
377
427
  - test/mailers/unlock_instructions_test.rb
378
428
  - test/mapping_test.rb
@@ -398,19 +448,31 @@ test_files:
398
448
  - test/rails_app/app/active_record/admin.rb
399
449
  - test/rails_app/app/active_record/shim.rb
400
450
  - test/rails_app/app/active_record/user.rb
451
+ - test/rails_app/app/active_record/user_on_engine.rb
452
+ - test/rails_app/app/active_record/user_on_main_app.rb
453
+ - test/rails_app/app/active_record/user_with_validations.rb
454
+ - test/rails_app/app/active_record/user_without_email.rb
401
455
  - test/rails_app/app/controllers/admins/sessions_controller.rb
402
456
  - test/rails_app/app/controllers/admins_controller.rb
403
457
  - test/rails_app/app/controllers/application_controller.rb
458
+ - test/rails_app/app/controllers/application_with_fake_engine.rb
459
+ - test/rails_app/app/controllers/custom/registrations_controller.rb
404
460
  - test/rails_app/app/controllers/home_controller.rb
405
461
  - test/rails_app/app/controllers/publisher/registrations_controller.rb
406
462
  - test/rails_app/app/controllers/publisher/sessions_controller.rb
407
463
  - test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb
408
464
  - test/rails_app/app/controllers/users_controller.rb
409
465
  - test/rails_app/app/helpers/application_helper.rb
466
+ - test/rails_app/app/mailers/users/from_proc_mailer.rb
410
467
  - test/rails_app/app/mailers/users/mailer.rb
468
+ - test/rails_app/app/mailers/users/reply_to_mailer.rb
411
469
  - test/rails_app/app/mongoid/admin.rb
412
470
  - test/rails_app/app/mongoid/shim.rb
413
471
  - test/rails_app/app/mongoid/user.rb
472
+ - test/rails_app/app/mongoid/user_on_engine.rb
473
+ - test/rails_app/app/mongoid/user_on_main_app.rb
474
+ - test/rails_app/app/mongoid/user_with_validations.rb
475
+ - test/rails_app/app/mongoid/user_without_email.rb
414
476
  - test/rails_app/app/views/admins/index.html.erb
415
477
  - test/rails_app/app/views/admins/sessions/new.html.erb
416
478
  - test/rails_app/app/views/home/admin_dashboard.html.erb
@@ -444,16 +506,24 @@ test_files:
444
506
  - test/rails_app/db/schema.rb
445
507
  - test/rails_app/lib/shared_admin.rb
446
508
  - test/rails_app/lib/shared_user.rb
509
+ - test/rails_app/lib/shared_user_without_email.rb
510
+ - test/rails_app/lib/shared_user_without_omniauth.rb
447
511
  - test/rails_app/public/404.html
448
512
  - test/rails_app/public/422.html
449
513
  - test/rails_app/public/500.html
450
514
  - test/rails_app/public/favicon.ico
515
+ - test/rails_test.rb
451
516
  - test/routes_test.rb
517
+ - test/secret_key_finder_test.rb
518
+ - test/support/action_controller/record_identifier.rb
452
519
  - test/support/assertions.rb
453
520
  - test/support/helpers.rb
521
+ - test/support/http_method_compatibility.rb
454
522
  - test/support/integration.rb
455
523
  - test/support/locale/en.yml
524
+ - test/support/mongoid.yml
456
525
  - test/support/webrat/integrations/rails.rb
526
+ - test/test/controller_helpers_test.rb
527
+ - test/test/integration_helpers_test.rb
457
528
  - test/test_helper.rb
458
- - test/test_helpers_test.rb
459
529
  - test/test_models.rb