devise 3.5.10 → 4.0.0.rc1

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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +9 -9
  3. data/CHANGELOG.md +33 -1188
  4. data/Gemfile +0 -1
  5. data/Gemfile.lock +15 -18
  6. data/MIT-LICENSE +1 -1
  7. data/README.md +20 -10
  8. data/app/controllers/devise/omniauth_callbacks_controller.rb +4 -4
  9. data/app/controllers/devise/passwords_controller.rb +2 -2
  10. data/app/controllers/devise/registrations_controller.rb +2 -2
  11. data/app/controllers/devise/sessions_controller.rb +4 -4
  12. data/app/controllers/devise/unlocks_controller.rb +1 -1
  13. data/app/controllers/devise_controller.rb +11 -7
  14. data/devise.gemspec +2 -3
  15. data/gemfiles/Gemfile.rails-4.1-stable +0 -1
  16. data/gemfiles/Gemfile.rails-4.1-stable.lock +38 -41
  17. data/gemfiles/Gemfile.rails-4.2-stable +0 -1
  18. data/gemfiles/Gemfile.rails-4.2-stable.lock +47 -50
  19. data/gemfiles/Gemfile.rails-5.0-beta +37 -0
  20. data/gemfiles/Gemfile.rails-5.0-beta.lock +242 -0
  21. data/lib/devise.rb +8 -8
  22. data/lib/devise/controllers/helpers.rb +7 -11
  23. data/lib/devise/failure_app.rb +17 -9
  24. data/lib/devise/models/authenticatable.rb +5 -1
  25. data/lib/devise/models/confirmable.rb +3 -4
  26. data/lib/devise/models/database_authenticatable.rb +1 -0
  27. data/lib/devise/models/lockable.rb +1 -5
  28. data/lib/devise/models/rememberable.rb +5 -11
  29. data/lib/devise/parameter_sanitizer.rb +176 -61
  30. data/lib/devise/rails.rb +1 -10
  31. data/lib/devise/rails/routes.rb +25 -14
  32. data/lib/devise/rails/warden_compat.rb +1 -10
  33. data/lib/devise/strategies/rememberable.rb +6 -3
  34. data/lib/devise/test_helpers.rb +9 -4
  35. data/lib/devise/token_generator.rb +1 -41
  36. data/lib/devise/version.rb +1 -1
  37. data/lib/generators/active_record/devise_generator.rb +3 -3
  38. data/lib/generators/active_record/templates/migration.rb +1 -1
  39. data/lib/generators/active_record/templates/migration_existing.rb +1 -1
  40. data/lib/generators/devise/orm_helpers.rb +0 -17
  41. data/lib/generators/templates/controllers/registrations_controller.rb +4 -4
  42. data/lib/generators/templates/controllers/sessions_controller.rb +2 -2
  43. data/lib/generators/templates/devise.rb +4 -5
  44. data/test/controllers/custom_registrations_controller_test.rb +5 -5
  45. data/test/controllers/custom_strategy_test.rb +7 -5
  46. data/test/controllers/helper_methods_test.rb +3 -2
  47. data/test/controllers/helpers_test.rb +1 -1
  48. data/test/controllers/inherited_controller_i18n_messages_test.rb +2 -2
  49. data/test/controllers/internal_helpers_test.rb +8 -10
  50. data/test/controllers/load_hooks_controller_test.rb +1 -1
  51. data/test/controllers/passwords_controller_test.rb +4 -3
  52. data/test/controllers/sessions_controller_test.rb +21 -18
  53. data/test/controllers/url_helpers_test.rb +1 -1
  54. data/test/failure_app_test.rb +19 -14
  55. data/test/generators/active_record_generator_test.rb +0 -26
  56. data/test/helpers/devise_helper_test.rb +1 -1
  57. data/test/integration/authenticatable_test.rb +18 -18
  58. data/test/integration/confirmable_test.rb +5 -5
  59. data/test/integration/database_authenticatable_test.rb +1 -1
  60. data/test/integration/http_authenticatable_test.rb +4 -5
  61. data/test/integration/lockable_test.rb +4 -3
  62. data/test/integration/omniauthable_test.rb +1 -1
  63. data/test/integration/recoverable_test.rb +10 -10
  64. data/test/integration/registerable_test.rb +9 -11
  65. data/test/integration/rememberable_test.rb +7 -43
  66. data/test/integration/timeoutable_test.rb +4 -4
  67. data/test/integration/trackable_test.rb +1 -1
  68. data/test/models/confirmable_test.rb +5 -13
  69. data/test/models/lockable_test.rb +0 -22
  70. data/test/models/rememberable_test.rb +0 -12
  71. data/test/models/validatable_test.rb +2 -10
  72. data/test/omniauth/url_helpers_test.rb +1 -2
  73. data/test/orm/active_record.rb +6 -1
  74. data/test/parameter_sanitizer_test.rb +103 -53
  75. data/test/rails_app/app/active_record/user.rb +3 -0
  76. data/test/rails_app/app/controllers/admins_controller.rb +1 -1
  77. data/test/rails_app/app/controllers/application_controller.rb +2 -2
  78. data/test/rails_app/app/controllers/home_controller.rb +5 -1
  79. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +2 -2
  80. data/test/rails_app/app/controllers/users_controller.rb +5 -5
  81. data/test/rails_app/config/application.rb +1 -1
  82. data/test/rails_app/config/boot.rb +3 -3
  83. data/test/rails_app/config/environments/test.rb +6 -1
  84. data/test/rails_app/config/initializers/secret_token.rb +1 -6
  85. data/test/routes_test.rb +26 -11
  86. data/test/support/http_method_compatibility.rb +51 -0
  87. data/test/support/webrat/integrations/rails.rb +9 -0
  88. data/test/test_helpers_test.rb +3 -3
  89. metadata +13 -31
  90. data/gemfiles/Gemfile.rails-3.2-stable +0 -29
  91. data/gemfiles/Gemfile.rails-3.2-stable.lock +0 -172
  92. data/gemfiles/Gemfile.rails-4.0-stable +0 -30
  93. data/gemfiles/Gemfile.rails-4.0-stable.lock +0 -166
  94. data/script/cached-bundle +0 -49
  95. data/script/s3-put +0 -71
  96. data/test/time_helpers.rb +0 -137
@@ -0,0 +1,51 @@
1
+ module Devise
2
+ class IntegrationTest < ActionDispatch::IntegrationTest
3
+ # %w( get post patch put head delete xml_http_request
4
+ # xhr get_via_redirect post_via_redirect
5
+ # ).each do |method|
6
+ %w( get post put ).each do |method|
7
+ if Rails.version >= '5.0.0'
8
+ define_method(method) do |url, options={}|
9
+ if options.empty?
10
+ super url
11
+ else
12
+ super url, options
13
+ end
14
+ end
15
+ else
16
+ define_method(method) do |url, options={}|
17
+ if options[:xhr]==true
18
+ xml_http_request __method__, url, options[:params] || {}, options[:headers]
19
+ else
20
+ super url, options[:params] || {}, options[:headers]
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ class ControllerTestCase < ActionController::TestCase
28
+ # %w( get post patch put head delete xml_http_request
29
+ # xhr get_via_redirect post_via_redirect
30
+ # ).each do |method|
31
+ %w( get post put ).each do |method|
32
+ if Rails.version >= '5.0.0'
33
+ define_method(method) do |action, options={}|
34
+ if options.empty?
35
+ super action
36
+ else
37
+ super action, options
38
+ end
39
+ end
40
+ else
41
+ define_method(method) do |action, options={}|
42
+ if options[:xhr]==true
43
+ xml_http_request __method__, action, options[:params] || {}, options[:headers]
44
+ else
45
+ super action, options[:params] || {}, options[:headers]
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -14,6 +14,15 @@ module Webrat
14
14
  ::Rails.logger
15
15
  end
16
16
  end
17
+
18
+ class RailsAdapter
19
+ protected
20
+
21
+ def do_request(http_method, url, data, headers)
22
+ update_protocol(url)
23
+ integration_session.send(http_method, normalize_url(url), params: data, headers: headers)
24
+ end
25
+ end
17
26
  end
18
27
 
19
28
  module ActionDispatch #:nodoc:
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class TestHelpersTest < ActionController::TestCase
3
+ class TestHelpersTest < Devise::ControllerTestCase
4
4
  tests UsersController
5
5
  include Devise::TestHelpers
6
6
 
@@ -27,7 +27,7 @@ class TestHelpersTest < ActionController::TestCase
27
27
  assert !user.active_for_authentication?
28
28
 
29
29
  sign_in user
30
- get :accept, id: user
30
+ get :accept, params: { id: user }
31
31
  assert_nil assigns(:current_user)
32
32
  end
33
33
  end
@@ -163,7 +163,7 @@ class TestHelpersTest < ActionController::TestCase
163
163
 
164
164
  test "creates a new warden proxy if the request object has changed" do
165
165
  old_warden_proxy = warden
166
- @request = ActionController::TestRequest.new
166
+ @request = Devise.rails5? ? ActionController::TestRequest.create : ActionController::TestRequest.new
167
167
  new_warden_proxy = warden
168
168
 
169
169
  assert_not_equal old_warden_proxy, new_warden_proxy
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.10
4
+ version: 4.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - José Valim
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-05-15 00:00:00.000000000 Z
12
+ date: 2016-02-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: warden
@@ -53,40 +53,26 @@ dependencies:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '3.0'
56
- - !ruby/object:Gem::Dependency
57
- name: thread_safe
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '0.1'
63
- type: :runtime
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '0.1'
70
56
  - !ruby/object:Gem::Dependency
71
57
  name: railties
72
58
  requirement: !ruby/object:Gem::Requirement
73
59
  requirements:
74
60
  - - ">="
75
61
  - !ruby/object:Gem::Version
76
- version: 3.2.6
62
+ version: 4.1.0
77
63
  - - "<"
78
64
  - !ruby/object:Gem::Version
79
- version: '5'
65
+ version: '5.1'
80
66
  type: :runtime
81
67
  prerelease: false
82
68
  version_requirements: !ruby/object:Gem::Requirement
83
69
  requirements:
84
70
  - - ">="
85
71
  - !ruby/object:Gem::Version
86
- version: 3.2.6
72
+ version: 4.1.0
87
73
  - - "<"
88
74
  - !ruby/object:Gem::Version
89
- version: '5'
75
+ version: '5.1'
90
76
  - !ruby/object:Gem::Dependency
91
77
  name: responders
92
78
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +128,12 @@ files:
142
128
  - config/locales/en.yml
143
129
  - devise.gemspec
144
130
  - devise.png
145
- - gemfiles/Gemfile.rails-3.2-stable
146
- - gemfiles/Gemfile.rails-3.2-stable.lock
147
- - gemfiles/Gemfile.rails-4.0-stable
148
- - gemfiles/Gemfile.rails-4.0-stable.lock
149
131
  - gemfiles/Gemfile.rails-4.1-stable
150
132
  - gemfiles/Gemfile.rails-4.1-stable.lock
151
133
  - gemfiles/Gemfile.rails-4.2-stable
152
134
  - gemfiles/Gemfile.rails-4.2-stable.lock
135
+ - gemfiles/Gemfile.rails-5.0-beta
136
+ - gemfiles/Gemfile.rails-5.0-beta.lock
153
137
  - lib/devise.rb
154
138
  - lib/devise/controllers/helpers.rb
155
139
  - lib/devise/controllers/rememberable.rb
@@ -230,8 +214,6 @@ files:
230
214
  - lib/generators/templates/simple_form_for/registrations/new.html.erb
231
215
  - lib/generators/templates/simple_form_for/sessions/new.html.erb
232
216
  - lib/generators/templates/simple_form_for/unlocks/new.html.erb
233
- - script/cached-bundle
234
- - script/s3-put
235
217
  - test/controllers/custom_registrations_controller_test.rb
236
218
  - test/controllers/custom_strategy_test.rb
237
219
  - test/controllers/helper_methods_test.rb
@@ -356,6 +338,7 @@ files:
356
338
  - test/support/action_controller/record_identifier.rb
357
339
  - test/support/assertions.rb
358
340
  - test/support/helpers.rb
341
+ - test/support/http_method_compatibility.rb
359
342
  - test/support/integration.rb
360
343
  - test/support/locale/en.yml
361
344
  - test/support/mongoid.yml
@@ -363,7 +346,6 @@ files:
363
346
  - test/test_helper.rb
364
347
  - test/test_helpers_test.rb
365
348
  - test/test_models.rb
366
- - test/time_helpers.rb
367
349
  homepage: https://github.com/plataformatec/devise
368
350
  licenses:
369
351
  - MIT
@@ -376,12 +358,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
376
358
  requirements:
377
359
  - - ">="
378
360
  - !ruby/object:Gem::Version
379
- version: 1.9.3
361
+ version: 2.1.0
380
362
  required_rubygems_version: !ruby/object:Gem::Requirement
381
363
  requirements:
382
- - - ">="
364
+ - - ">"
383
365
  - !ruby/object:Gem::Version
384
- version: '0'
366
+ version: 1.3.1
385
367
  requirements: []
386
368
  rubyforge_project:
387
369
  rubygems_version: 2.5.1
@@ -513,6 +495,7 @@ test_files:
513
495
  - test/support/action_controller/record_identifier.rb
514
496
  - test/support/assertions.rb
515
497
  - test/support/helpers.rb
498
+ - test/support/http_method_compatibility.rb
516
499
  - test/support/integration.rb
517
500
  - test/support/locale/en.yml
518
501
  - test/support/mongoid.yml
@@ -520,4 +503,3 @@ test_files:
520
503
  - test/test_helper.rb
521
504
  - test/test_helpers_test.rb
522
505
  - test/test_models.rb
523
- - test/time_helpers.rb
@@ -1,29 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec path: '..'
4
-
5
- gem "rails", github: 'rails/rails', branch: '3-2-stable'
6
- gem "omniauth", "~> 1.2.0"
7
- gem "omniauth-oauth2", "~> 1.1.0"
8
- gem "rdoc"
9
-
10
- group :test do
11
- gem "omniauth-facebook"
12
- gem "omniauth-openid", "~> 1.0.1"
13
- gem "webrat", "0.7.3", require: false
14
- gem "mocha", "~> 1.1", require: false
15
- end
16
-
17
- platforms :jruby do
18
- gem "activerecord-jdbc-adapter"
19
- gem "activerecord-jdbcsqlite3-adapter"
20
- gem "jruby-openssl"
21
- end
22
-
23
- platforms :ruby do
24
- gem "sqlite3"
25
- end
26
-
27
- group :mongoid do
28
- gem "mongoid", "~> 3.0"
29
- end
@@ -1,172 +0,0 @@
1
- GIT
2
- remote: git://github.com/rails/rails.git
3
- revision: f85bbed4cdc1bdfd1e0dbd97bce9db81e44cbd11
4
- branch: 3-2-stable
5
- specs:
6
- actionmailer (3.2.22.2)
7
- actionpack (= 3.2.22.2)
8
- mail (~> 2.5.4)
9
- actionpack (3.2.22.2)
10
- activemodel (= 3.2.22.2)
11
- activesupport (= 3.2.22.2)
12
- builder (~> 3.0.0)
13
- erubis (~> 2.7.0)
14
- journey (~> 1.0.4)
15
- rack (~> 1.4.5)
16
- rack-cache (~> 1.2)
17
- rack-test (~> 0.6.1)
18
- sprockets (~> 2.2.1)
19
- activemodel (3.2.22.2)
20
- activesupport (= 3.2.22.2)
21
- builder (~> 3.0.0)
22
- activerecord (3.2.22.2)
23
- activemodel (= 3.2.22.2)
24
- activesupport (= 3.2.22.2)
25
- arel (~> 3.0.2)
26
- tzinfo (~> 0.3.29)
27
- activeresource (3.2.22.2)
28
- activemodel (= 3.2.22.2)
29
- activesupport (= 3.2.22.2)
30
- activesupport (3.2.22.2)
31
- i18n (~> 0.6, >= 0.6.4)
32
- multi_json (~> 1.0)
33
- rails (3.2.22.2)
34
- actionmailer (= 3.2.22.2)
35
- actionpack (= 3.2.22.2)
36
- activerecord (= 3.2.22.2)
37
- activeresource (= 3.2.22.2)
38
- activesupport (= 3.2.22.2)
39
- bundler (~> 1.0)
40
- railties (= 3.2.22.2)
41
- railties (3.2.22.2)
42
- actionpack (= 3.2.22.2)
43
- activesupport (= 3.2.22.2)
44
- rack-ssl (~> 1.3.2)
45
- rake (>= 0.8.7)
46
- rdoc (~> 3.4)
47
- thor (>= 0.14.6, < 2.0)
48
-
49
- PATH
50
- remote: ..
51
- specs:
52
- devise (3.5.8)
53
- bcrypt (~> 3.0)
54
- orm_adapter (~> 0.1)
55
- railties (>= 3.2.6, < 5)
56
- responders
57
- thread_safe (~> 0.1)
58
- warden (~> 1.2.3)
59
-
60
- GEM
61
- remote: https://rubygems.org/
62
- specs:
63
- arel (3.0.3)
64
- bcrypt (3.1.11)
65
- builder (3.0.4)
66
- erubis (2.7.0)
67
- faraday (0.9.2)
68
- multipart-post (>= 1.2, < 3)
69
- hashie (3.4.3)
70
- hike (1.2.3)
71
- i18n (0.7.0)
72
- journey (1.0.4)
73
- json (1.8.3)
74
- jwt (1.5.4)
75
- mail (2.5.4)
76
- mime-types (~> 1.16)
77
- treetop (~> 1.4.8)
78
- metaclass (0.0.4)
79
- mime-types (1.25.1)
80
- mini_portile2 (2.0.0)
81
- mocha (1.1.0)
82
- metaclass (~> 0.0.1)
83
- mongoid (3.1.7)
84
- activemodel (~> 3.2)
85
- moped (~> 1.4)
86
- origin (~> 1.0)
87
- tzinfo (~> 0.3.29)
88
- moped (1.5.3)
89
- multi_json (1.11.3)
90
- multi_xml (0.5.5)
91
- multipart-post (2.0.0)
92
- nokogiri (1.6.7.2)
93
- mini_portile2 (~> 2.0.0.rc2)
94
- oauth2 (0.9.4)
95
- faraday (>= 0.8, < 0.10)
96
- jwt (~> 1.0)
97
- multi_json (~> 1.3)
98
- multi_xml (~> 0.5)
99
- rack (~> 1.2)
100
- omniauth (1.2.2)
101
- hashie (>= 1.2, < 4)
102
- rack (~> 1.0)
103
- omniauth-facebook (1.6.0)
104
- omniauth-oauth2 (~> 1.1)
105
- omniauth-oauth2 (1.1.2)
106
- faraday (>= 0.8, < 0.10)
107
- multi_json (~> 1.3)
108
- oauth2 (~> 0.9.3)
109
- omniauth (~> 1.2)
110
- omniauth-openid (1.0.1)
111
- omniauth (~> 1.0)
112
- rack-openid (~> 1.3.1)
113
- origin (1.1.0)
114
- orm_adapter (0.5.0)
115
- polyglot (0.3.5)
116
- rack (1.4.7)
117
- rack-cache (1.6.1)
118
- rack (>= 0.4)
119
- rack-openid (1.3.1)
120
- rack (>= 1.1.0)
121
- ruby-openid (>= 2.1.8)
122
- rack-ssl (1.3.4)
123
- rack
124
- rack-test (0.6.3)
125
- rack (>= 1.0)
126
- rake (11.1.2)
127
- rdoc (3.12.2)
128
- json (~> 1.4)
129
- responders (1.1.2)
130
- railties (>= 3.2, < 4.2)
131
- ruby-openid (2.7.0)
132
- sprockets (2.2.3)
133
- hike (~> 1.2)
134
- multi_json (~> 1.0)
135
- rack (~> 1.0)
136
- tilt (~> 1.1, != 1.3.0)
137
- sqlite3 (1.3.11)
138
- thor (0.19.1)
139
- thread_safe (0.3.5)
140
- tilt (1.4.1)
141
- treetop (1.4.15)
142
- polyglot
143
- polyglot (>= 0.3.1)
144
- tzinfo (0.3.49)
145
- warden (1.2.6)
146
- rack (>= 1.0)
147
- webrat (0.7.3)
148
- nokogiri (>= 1.2.0)
149
- rack (>= 1.0)
150
- rack-test (>= 0.5.3)
151
-
152
- PLATFORMS
153
- ruby
154
-
155
- DEPENDENCIES
156
- activerecord-jdbc-adapter
157
- activerecord-jdbcsqlite3-adapter
158
- devise!
159
- jruby-openssl
160
- mocha (~> 1.1)
161
- mongoid (~> 3.0)
162
- omniauth (~> 1.2.0)
163
- omniauth-facebook
164
- omniauth-oauth2 (~> 1.1.0)
165
- omniauth-openid (~> 1.0.1)
166
- rails!
167
- rdoc
168
- sqlite3
169
- webrat (= 0.7.3)
170
-
171
- BUNDLED WITH
172
- 1.11.2
@@ -1,30 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec path: '..'
4
-
5
- gem "rails", github: 'rails/rails', branch: '4-0-stable'
6
- gem "omniauth", "~> 1.2.0"
7
- gem "omniauth-oauth2", "~> 1.1.0"
8
- gem "rdoc"
9
- gem "mime-types", "~> 2.99"
10
-
11
- group :test do
12
- gem "omniauth-facebook"
13
- gem "omniauth-openid", "~> 1.0.1"
14
- gem "webrat", "0.7.3", require: false
15
- gem "mocha", "~> 1.1", require: false
16
- end
17
-
18
- platforms :jruby do
19
- gem "activerecord-jdbc-adapter"
20
- gem "activerecord-jdbcsqlite3-adapter"
21
- gem "jruby-openssl"
22
- end
23
-
24
- platforms :ruby do
25
- gem "sqlite3"
26
- end
27
-
28
- group :mongoid do
29
- gem "mongoid", "~> 4.0.0"
30
- end