devise 3.4.1 → 3.5.10

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +28 -19
  3. data/CHANGELOG.md +193 -104
  4. data/CODE_OF_CONDUCT.md +22 -0
  5. data/CONTRIBUTING.md +2 -0
  6. data/Gemfile +3 -2
  7. data/Gemfile.lock +90 -95
  8. data/MIT-LICENSE +1 -1
  9. data/README.md +55 -34
  10. data/Rakefile +2 -1
  11. data/app/controllers/devise/confirmations_controller.rb +4 -0
  12. data/app/controllers/devise/omniauth_callbacks_controller.rb +4 -0
  13. data/app/controllers/devise/passwords_controller.rb +14 -4
  14. data/app/controllers/devise/registrations_controller.rb +10 -11
  15. data/app/controllers/devise/sessions_controller.rb +7 -2
  16. data/app/controllers/devise/unlocks_controller.rb +3 -0
  17. data/app/controllers/devise_controller.rb +34 -18
  18. data/app/mailers/devise/mailer.rb +4 -0
  19. data/app/views/devise/confirmations/new.html.erb +1 -1
  20. data/app/views/devise/mailer/password_change.html.erb +3 -0
  21. data/app/views/devise/passwords/edit.html.erb +3 -0
  22. data/app/views/devise/registrations/new.html.erb +1 -1
  23. data/app/views/devise/shared/_links.html.erb +1 -1
  24. data/config/locales/en.yml +2 -0
  25. data/devise.gemspec +0 -2
  26. data/gemfiles/Gemfile.rails-3.2-stable.lock +52 -49
  27. data/gemfiles/Gemfile.rails-4.0-stable +1 -0
  28. data/gemfiles/Gemfile.rails-4.0-stable.lock +61 -60
  29. data/gemfiles/Gemfile.rails-4.1-stable +1 -0
  30. data/gemfiles/Gemfile.rails-4.1-stable.lock +66 -65
  31. data/gemfiles/Gemfile.rails-4.2-stable +30 -0
  32. data/gemfiles/Gemfile.rails-4.2-stable.lock +193 -0
  33. data/lib/devise/controllers/helpers.rb +12 -6
  34. data/lib/devise/controllers/rememberable.rb +9 -2
  35. data/lib/devise/controllers/sign_in_out.rb +2 -8
  36. data/lib/devise/controllers/store_location.rb +3 -1
  37. data/lib/devise/controllers/url_helpers.rb +7 -9
  38. data/lib/devise/encryptor.rb +22 -0
  39. data/lib/devise/failure_app.rb +48 -13
  40. data/lib/devise/hooks/timeoutable.rb +5 -7
  41. data/lib/devise/mapping.rb +1 -0
  42. data/lib/devise/models/authenticatable.rb +20 -26
  43. data/lib/devise/models/confirmable.rb +51 -17
  44. data/lib/devise/models/database_authenticatable.rb +17 -11
  45. data/lib/devise/models/lockable.rb +5 -1
  46. data/lib/devise/models/recoverable.rb +23 -15
  47. data/lib/devise/models/rememberable.rb +56 -22
  48. data/lib/devise/models/timeoutable.rb +0 -6
  49. data/lib/devise/models/trackable.rb +1 -2
  50. data/lib/devise/models/validatable.rb +3 -3
  51. data/lib/devise/models.rb +1 -1
  52. data/lib/devise/rails/routes.rb +27 -18
  53. data/lib/devise/rails.rb +1 -1
  54. data/lib/devise/strategies/authenticatable.rb +7 -4
  55. data/lib/devise/strategies/database_authenticatable.rb +1 -1
  56. data/lib/devise/strategies/rememberable.rb +13 -6
  57. data/lib/devise/test_helpers.rb +2 -2
  58. data/lib/devise/version.rb +1 -1
  59. data/lib/devise.rb +37 -36
  60. data/lib/generators/active_record/templates/migration.rb +1 -1
  61. data/lib/generators/active_record/templates/migration_existing.rb +1 -1
  62. data/lib/generators/devise/views_generator.rb +14 -3
  63. data/lib/generators/templates/controllers/README +2 -2
  64. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +1 -1
  65. data/lib/generators/templates/controllers/registrations_controller.rb +2 -2
  66. data/lib/generators/templates/controllers/sessions_controller.rb +1 -1
  67. data/lib/generators/templates/devise.rb +17 -11
  68. data/lib/generators/templates/markerb/confirmation_instructions.markerb +1 -1
  69. data/lib/generators/templates/markerb/password_change.markerb +3 -0
  70. data/lib/generators/templates/markerb/reset_password_instructions.markerb +1 -1
  71. data/lib/generators/templates/markerb/unlock_instructions.markerb +1 -1
  72. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +1 -1
  73. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +1 -1
  74. data/test/controllers/custom_registrations_controller_test.rb +6 -1
  75. data/test/controllers/helper_methods_test.rb +21 -0
  76. data/test/controllers/helpers_test.rb +5 -0
  77. data/test/controllers/inherited_controller_i18n_messages_test.rb +51 -0
  78. data/test/controllers/internal_helpers_test.rb +4 -4
  79. data/test/controllers/load_hooks_controller_test.rb +19 -0
  80. data/test/controllers/passwords_controller_test.rb +1 -1
  81. data/test/controllers/sessions_controller_test.rb +3 -3
  82. data/test/devise_test.rb +3 -3
  83. data/test/failure_app_test.rb +40 -0
  84. data/test/generators/views_generator_test.rb +7 -0
  85. data/test/integration/database_authenticatable_test.rb +11 -0
  86. data/test/integration/omniauthable_test.rb +12 -10
  87. data/test/integration/recoverable_test.rb +13 -0
  88. data/test/integration/rememberable_test.rb +50 -3
  89. data/test/integration/timeoutable_test.rb +13 -18
  90. data/test/mailers/confirmation_instructions_test.rb +1 -1
  91. data/test/mapping_test.rb +6 -0
  92. data/test/models/confirmable_test.rb +93 -37
  93. data/test/models/database_authenticatable_test.rb +20 -0
  94. data/test/models/lockable_test.rb +29 -7
  95. data/test/models/recoverable_test.rb +62 -7
  96. data/test/models/rememberable_test.rb +68 -97
  97. data/test/models/validatable_test.rb +5 -5
  98. data/test/models_test.rb +15 -6
  99. data/test/rails_app/app/active_record/user_without_email.rb +8 -0
  100. data/test/rails_app/app/controllers/admins_controller.rb +0 -5
  101. data/test/rails_app/app/controllers/custom/registrations_controller.rb +10 -0
  102. data/test/rails_app/app/mongoid/user_without_email.rb +33 -0
  103. data/test/rails_app/config/application.rb +1 -1
  104. data/test/rails_app/config/environments/production.rb +6 -2
  105. data/test/rails_app/config/environments/test.rb +7 -2
  106. data/test/rails_app/config/initializers/devise.rb +12 -15
  107. data/test/rails_app/config/routes.rb +6 -3
  108. data/test/rails_app/lib/shared_user.rb +1 -1
  109. data/test/rails_app/lib/shared_user_without_email.rb +26 -0
  110. data/test/rails_test.rb +9 -0
  111. data/test/support/helpers.rb +4 -0
  112. data/test/support/integration.rb +2 -2
  113. data/test/test_helpers_test.rb +22 -7
  114. data/test/test_models.rb +2 -2
  115. data/test/time_helpers.rb +137 -0
  116. metadata +26 -4
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class RailsTest < ActiveSupport::TestCase
4
+ test 'correct initializer position' do
5
+ initializer = Devise::Engine.initializers.detect { |i| i.name == 'devise.omniauth' }
6
+ assert_equal :load_config_initializers, initializer.after
7
+ assert_equal :build_middleware_stack, initializer.before
8
+ end
9
+ end
@@ -46,6 +46,10 @@ class ActiveSupport::TestCase
46
46
  Admin.create!(valid_attributes)
47
47
  end
48
48
 
49
+ def create_user_without_email(attributes={})
50
+ UserWithoutEmail.create!(valid_attributes(attributes))
51
+ end
52
+
49
53
  # Execute the block setting the given values and restoring old values after
50
54
  # the block is executed.
51
55
  def swap(object, new_values)
@@ -15,7 +15,7 @@ class ActionDispatch::IntegrationTest
15
15
  created_at: Time.now.utc
16
16
  )
17
17
  user.update_attribute(:confirmation_sent_at, options[:confirmation_sent_at]) if options[:confirmation_sent_at]
18
- user.confirm! unless options[:confirm] == false
18
+ user.confirm unless options[:confirm] == false
19
19
  user.lock_access! if options[:locked] == true
20
20
  user
21
21
  end
@@ -28,7 +28,7 @@ class ActionDispatch::IntegrationTest
28
28
  password: '123456', password_confirmation: '123456',
29
29
  active: options[:active]
30
30
  )
31
- admin.confirm! unless options[:confirm] == false
31
+ admin.confirm unless options[:confirm] == false
32
32
  admin
33
33
  end
34
34
  end
@@ -34,7 +34,7 @@ class TestHelpersTest < ActionController::TestCase
34
34
 
35
35
  test "does not redirect with valid user" do
36
36
  user = create_user
37
- user.confirm!
37
+ user.confirm
38
38
 
39
39
  sign_in user
40
40
  get :index
@@ -46,7 +46,7 @@ class TestHelpersTest < ActionController::TestCase
46
46
  assert_response :redirect
47
47
 
48
48
  user = create_user
49
- user.confirm!
49
+ user.confirm
50
50
 
51
51
  sign_in user
52
52
  get :index
@@ -55,7 +55,7 @@ class TestHelpersTest < ActionController::TestCase
55
55
 
56
56
  test "redirects if valid user signed out" do
57
57
  user = create_user
58
- user.confirm!
58
+ user.confirm
59
59
 
60
60
  sign_in user
61
61
  get :index
@@ -105,7 +105,7 @@ class TestHelpersTest < ActionController::TestCase
105
105
  end
106
106
 
107
107
  user = create_user
108
- user.confirm!
108
+ user.confirm
109
109
  sign_in user
110
110
  ensure
111
111
  Warden::Manager._after_set_user.pop
@@ -118,7 +118,7 @@ class TestHelpersTest < ActionController::TestCase
118
118
  flunk "callback was called while it should not"
119
119
  end
120
120
  user = create_user
121
- user.confirm!
121
+ user.confirm
122
122
 
123
123
  sign_in user
124
124
  sign_out user
@@ -146,7 +146,7 @@ class TestHelpersTest < ActionController::TestCase
146
146
 
147
147
  test "allows to sign in with different users" do
148
148
  first_user = create_user
149
- first_user.confirm!
149
+ first_user.confirm
150
150
 
151
151
  sign_in first_user
152
152
  get :index
@@ -154,10 +154,25 @@ class TestHelpersTest < ActionController::TestCase
154
154
  sign_out first_user
155
155
 
156
156
  second_user = create_user
157
- second_user.confirm!
157
+ second_user.confirm
158
158
 
159
159
  sign_in second_user
160
160
  get :index
161
161
  assert_match /User ##{second_user.id}/, @response.body
162
162
  end
163
+
164
+ test "creates a new warden proxy if the request object has changed" do
165
+ old_warden_proxy = warden
166
+ @request = ActionController::TestRequest.new
167
+ new_warden_proxy = warden
168
+
169
+ assert_not_equal old_warden_proxy, new_warden_proxy
170
+ end
171
+
172
+ test "doesn't create a new warden proxy if the request object hasn't changed" do
173
+ old_warden_proxy = warden
174
+ new_warden_proxy = warden
175
+
176
+ assert_equal old_warden_proxy, new_warden_proxy
177
+ end
163
178
  end
data/test/test_models.rb CHANGED
@@ -20,8 +20,8 @@ class UserWithCustomEncryption < User
20
20
  end
21
21
 
22
22
  class UserWithVirtualAttributes < User
23
- devise case_insensitive_keys: [ :email, :email_confirmation ]
24
- validates :email, presence: true, confirmation: {on: :create}
23
+ devise case_insensitive_keys: [:email, :email_confirmation]
24
+ validates :email, presence: true, confirmation: { on: :create }
25
25
  end
26
26
 
27
27
  class Several < Admin
@@ -0,0 +1,137 @@
1
+ # A copy of Rails time helpers. With this file we can support the `travel_to`
2
+ # helper for Rails versions prior 4.1.
3
+ # File origin: https://github.com/rails/rails/blob/52ce6ece8c8f74064bb64e0a0b1ddd83092718e1/activesupport/lib/active_support/testing/time_helpers.rb
4
+ module ActiveSupport
5
+ module Testing
6
+ class SimpleStubs # :nodoc:
7
+ Stub = Struct.new(:object, :method_name, :original_method)
8
+
9
+ def initialize
10
+ @stubs = {}
11
+ end
12
+
13
+ def stub_object(object, method_name, return_value)
14
+ key = [object.object_id, method_name]
15
+
16
+ if stub = @stubs[key]
17
+ unstub_object(stub)
18
+ end
19
+
20
+ new_name = "__simple_stub__#{method_name}"
21
+
22
+ @stubs[key] = Stub.new(object, method_name, new_name)
23
+
24
+ object.singleton_class.send :alias_method, new_name, method_name
25
+ object.define_singleton_method(method_name) { return_value }
26
+ end
27
+
28
+ def unstub_all!
29
+ @stubs.each_value do |stub|
30
+ unstub_object(stub)
31
+ end
32
+ @stubs = {}
33
+ end
34
+
35
+ private
36
+
37
+ def unstub_object(stub)
38
+ singleton_class = stub.object.singleton_class
39
+ singleton_class.send :undef_method, stub.method_name
40
+ singleton_class.send :alias_method, stub.method_name, stub.original_method
41
+ singleton_class.send :undef_method, stub.original_method
42
+ end
43
+ end
44
+
45
+ # Contains helpers that help you test passage of time.
46
+ module TimeHelpers
47
+ # Changes current time to the time in the future or in the past by a given time difference by
48
+ # stubbing +Time.now+, +Date.today+, and +DateTime.now+.
49
+ #
50
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
51
+ # travel 1.day
52
+ # Time.current # => Sun, 10 Nov 2013 15:34:49 EST -05:00
53
+ # Date.current # => Sun, 10 Nov 2013
54
+ # DateTime.current # => Sun, 10 Nov 2013 15:34:49 -0500
55
+ #
56
+ # This method also accepts a block, which will return the current time back to its original
57
+ # state at the end of the block:
58
+ #
59
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
60
+ # travel 1.day do
61
+ # User.create.created_at # => Sun, 10 Nov 2013 15:34:49 EST -05:00
62
+ # end
63
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
64
+ def travel(duration, &block)
65
+ travel_to Time.now + duration, &block
66
+ end
67
+
68
+ # Changes current time to the given time by stubbing +Time.now+,
69
+ # +Date.today+, and +DateTime.now+ to return the time or date passed into this method.
70
+ #
71
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
72
+ # travel_to Time.new(2004, 11, 24, 01, 04, 44)
73
+ # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00
74
+ # Date.current # => Wed, 24 Nov 2004
75
+ # DateTime.current # => Wed, 24 Nov 2004 01:04:44 -0500
76
+ #
77
+ # Dates are taken as their timestamp at the beginning of the day in the
78
+ # application time zone. <tt>Time.current</tt> returns said timestamp,
79
+ # and <tt>Time.now</tt> its equivalent in the system time zone. Similarly,
80
+ # <tt>Date.current</tt> returns a date equal to the argument, and
81
+ # <tt>Date.today</tt> the date according to <tt>Time.now</tt>, which may
82
+ # be different. (Note that you rarely want to deal with <tt>Time.now</tt>,
83
+ # or <tt>Date.today</tt>, in order to honor the application time zone
84
+ # please always use <tt>Time.current</tt> and <tt>Date.current</tt>.)
85
+ #
86
+ # Note that the usec for the time passed will be set to 0 to prevent rounding
87
+ # errors with external services, like MySQL (which will round instead of floor,
88
+ # leading to off-by-one-second errors).
89
+ #
90
+ # This method also accepts a block, which will return the current time back to its original
91
+ # state at the end of the block:
92
+ #
93
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
94
+ # travel_to Time.new(2004, 11, 24, 01, 04, 44) do
95
+ # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00
96
+ # end
97
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
98
+ def travel_to(date_or_time)
99
+ if date_or_time.is_a?(Date) && !date_or_time.is_a?(DateTime)
100
+ now = date_or_time.midnight.to_time
101
+ else
102
+ now = date_or_time.to_time.change(usec: 0)
103
+ end
104
+
105
+ simple_stubs.stub_object(Time, :now, now)
106
+ simple_stubs.stub_object(Date, :today, now.to_date)
107
+ simple_stubs.stub_object(DateTime, :now, now.to_datetime)
108
+
109
+ if block_given?
110
+ begin
111
+ yield
112
+ ensure
113
+ travel_back
114
+ end
115
+ end
116
+ end
117
+
118
+ # Returns the current time back to its original state, by removing the stubs added by
119
+ # `travel` and `travel_to`.
120
+ #
121
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
122
+ # travel_to Time.new(2004, 11, 24, 01, 04, 44)
123
+ # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00
124
+ # travel_back
125
+ # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00
126
+ def travel_back
127
+ simple_stubs.unstub_all!
128
+ end
129
+
130
+ private
131
+
132
+ def simple_stubs
133
+ @simple_stubs ||= SimpleStubs.new
134
+ end
135
+ end
136
+ end
137
+ end
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.4.1
4
+ version: 3.5.10
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: 2014-10-29 00:00:00.000000000 Z
12
+ date: 2016-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: warden
@@ -111,6 +111,7 @@ files:
111
111
  - ".travis.yml"
112
112
  - ".yardopts"
113
113
  - CHANGELOG.md
114
+ - CODE_OF_CONDUCT.md
114
115
  - CONTRIBUTING.md
115
116
  - Gemfile
116
117
  - Gemfile.lock
@@ -128,6 +129,7 @@ files:
128
129
  - app/mailers/devise/mailer.rb
129
130
  - app/views/devise/confirmations/new.html.erb
130
131
  - app/views/devise/mailer/confirmation_instructions.html.erb
132
+ - app/views/devise/mailer/password_change.html.erb
131
133
  - app/views/devise/mailer/reset_password_instructions.html.erb
132
134
  - app/views/devise/mailer/unlock_instructions.html.erb
133
135
  - app/views/devise/passwords/edit.html.erb
@@ -146,6 +148,8 @@ files:
146
148
  - gemfiles/Gemfile.rails-4.0-stable.lock
147
149
  - gemfiles/Gemfile.rails-4.1-stable
148
150
  - gemfiles/Gemfile.rails-4.1-stable.lock
151
+ - gemfiles/Gemfile.rails-4.2-stable
152
+ - gemfiles/Gemfile.rails-4.2-stable.lock
149
153
  - lib/devise.rb
150
154
  - lib/devise/controllers/helpers.rb
151
155
  - lib/devise/controllers/rememberable.rb
@@ -154,6 +158,7 @@ files:
154
158
  - lib/devise/controllers/store_location.rb
155
159
  - lib/devise/controllers/url_helpers.rb
156
160
  - lib/devise/delegator.rb
161
+ - lib/devise/encryptor.rb
157
162
  - lib/devise/failure_app.rb
158
163
  - lib/devise/hooks/activatable.rb
159
164
  - lib/devise/hooks/csrf_cleaner.rb
@@ -215,6 +220,7 @@ files:
215
220
  - lib/generators/templates/controllers/unlocks_controller.rb
216
221
  - lib/generators/templates/devise.rb
217
222
  - lib/generators/templates/markerb/confirmation_instructions.markerb
223
+ - lib/generators/templates/markerb/password_change.markerb
218
224
  - lib/generators/templates/markerb/reset_password_instructions.markerb
219
225
  - lib/generators/templates/markerb/unlock_instructions.markerb
220
226
  - lib/generators/templates/simple_form_for/confirmations/new.html.erb
@@ -228,8 +234,11 @@ files:
228
234
  - script/s3-put
229
235
  - test/controllers/custom_registrations_controller_test.rb
230
236
  - test/controllers/custom_strategy_test.rb
237
+ - test/controllers/helper_methods_test.rb
231
238
  - test/controllers/helpers_test.rb
239
+ - test/controllers/inherited_controller_i18n_messages_test.rb
232
240
  - test/controllers/internal_helpers_test.rb
241
+ - test/controllers/load_hooks_controller_test.rb
233
242
  - test/controllers/passwords_controller_test.rb
234
243
  - test/controllers/sessions_controller_test.rb
235
244
  - test/controllers/url_helpers_test.rb
@@ -282,6 +291,7 @@ files:
282
291
  - test/rails_app/app/active_record/user.rb
283
292
  - test/rails_app/app/active_record/user_on_engine.rb
284
293
  - test/rails_app/app/active_record/user_on_main_app.rb
294
+ - test/rails_app/app/active_record/user_without_email.rb
285
295
  - test/rails_app/app/controllers/admins/sessions_controller.rb
286
296
  - test/rails_app/app/controllers/admins_controller.rb
287
297
  - test/rails_app/app/controllers/application_controller.rb
@@ -301,6 +311,7 @@ files:
301
311
  - test/rails_app/app/mongoid/user.rb
302
312
  - test/rails_app/app/mongoid/user_on_engine.rb
303
313
  - test/rails_app/app/mongoid/user_on_main_app.rb
314
+ - test/rails_app/app/mongoid/user_without_email.rb
304
315
  - test/rails_app/app/views/admins/index.html.erb
305
316
  - test/rails_app/app/views/admins/sessions/new.html.erb
306
317
  - test/rails_app/app/views/home/admin_dashboard.html.erb
@@ -334,11 +345,13 @@ files:
334
345
  - test/rails_app/db/schema.rb
335
346
  - test/rails_app/lib/shared_admin.rb
336
347
  - test/rails_app/lib/shared_user.rb
348
+ - test/rails_app/lib/shared_user_without_email.rb
337
349
  - test/rails_app/lib/shared_user_without_omniauth.rb
338
350
  - test/rails_app/public/404.html
339
351
  - test/rails_app/public/422.html
340
352
  - test/rails_app/public/500.html
341
353
  - test/rails_app/public/favicon.ico
354
+ - test/rails_test.rb
342
355
  - test/routes_test.rb
343
356
  - test/support/action_controller/record_identifier.rb
344
357
  - test/support/assertions.rb
@@ -350,6 +363,7 @@ files:
350
363
  - test/test_helper.rb
351
364
  - test/test_helpers_test.rb
352
365
  - test/test_models.rb
366
+ - test/time_helpers.rb
353
367
  homepage: https://github.com/plataformatec/devise
354
368
  licenses:
355
369
  - MIT
@@ -369,16 +383,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
369
383
  - !ruby/object:Gem::Version
370
384
  version: '0'
371
385
  requirements: []
372
- rubyforge_project: devise
373
- rubygems_version: 2.2.2
386
+ rubyforge_project:
387
+ rubygems_version: 2.5.1
374
388
  signing_key:
375
389
  specification_version: 4
376
390
  summary: Flexible authentication solution for Rails with Warden
377
391
  test_files:
378
392
  - test/controllers/custom_registrations_controller_test.rb
379
393
  - test/controllers/custom_strategy_test.rb
394
+ - test/controllers/helper_methods_test.rb
380
395
  - test/controllers/helpers_test.rb
396
+ - test/controllers/inherited_controller_i18n_messages_test.rb
381
397
  - test/controllers/internal_helpers_test.rb
398
+ - test/controllers/load_hooks_controller_test.rb
382
399
  - test/controllers/passwords_controller_test.rb
383
400
  - test/controllers/sessions_controller_test.rb
384
401
  - test/controllers/url_helpers_test.rb
@@ -431,6 +448,7 @@ test_files:
431
448
  - test/rails_app/app/active_record/user.rb
432
449
  - test/rails_app/app/active_record/user_on_engine.rb
433
450
  - test/rails_app/app/active_record/user_on_main_app.rb
451
+ - test/rails_app/app/active_record/user_without_email.rb
434
452
  - test/rails_app/app/controllers/admins/sessions_controller.rb
435
453
  - test/rails_app/app/controllers/admins_controller.rb
436
454
  - test/rails_app/app/controllers/application_controller.rb
@@ -450,6 +468,7 @@ test_files:
450
468
  - test/rails_app/app/mongoid/user.rb
451
469
  - test/rails_app/app/mongoid/user_on_engine.rb
452
470
  - test/rails_app/app/mongoid/user_on_main_app.rb
471
+ - test/rails_app/app/mongoid/user_without_email.rb
453
472
  - test/rails_app/app/views/admins/index.html.erb
454
473
  - test/rails_app/app/views/admins/sessions/new.html.erb
455
474
  - test/rails_app/app/views/home/admin_dashboard.html.erb
@@ -483,11 +502,13 @@ test_files:
483
502
  - test/rails_app/db/schema.rb
484
503
  - test/rails_app/lib/shared_admin.rb
485
504
  - test/rails_app/lib/shared_user.rb
505
+ - test/rails_app/lib/shared_user_without_email.rb
486
506
  - test/rails_app/lib/shared_user_without_omniauth.rb
487
507
  - test/rails_app/public/404.html
488
508
  - test/rails_app/public/422.html
489
509
  - test/rails_app/public/500.html
490
510
  - test/rails_app/public/favicon.ico
511
+ - test/rails_test.rb
491
512
  - test/routes_test.rb
492
513
  - test/support/action_controller/record_identifier.rb
493
514
  - test/support/assertions.rb
@@ -499,3 +520,4 @@ test_files:
499
520
  - test/test_helper.rb
500
521
  - test/test_helpers_test.rb
501
522
  - test/test_models.rb
523
+ - test/time_helpers.rb