devise 4.1.1 → 4.2.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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +9 -7
  3. data/CHANGELOG.md +46 -2
  4. data/CONTRIBUTING.md +30 -7
  5. data/Gemfile +14 -7
  6. data/Gemfile.lock +96 -81
  7. data/README.md +89 -37
  8. data/app/controllers/devise/omniauth_callbacks_controller.rb +3 -3
  9. data/app/controllers/devise/registrations_controller.rb +3 -3
  10. data/app/views/devise/registrations/edit.html.erb +4 -0
  11. data/gemfiles/Gemfile.rails-4.1-stable +4 -4
  12. data/gemfiles/Gemfile.rails-4.1-stable.lock +27 -23
  13. data/gemfiles/Gemfile.rails-4.2-stable +4 -4
  14. data/gemfiles/Gemfile.rails-4.2-stable.lock +58 -54
  15. data/guides/bug_report_templates/integration_test.rb +104 -0
  16. data/lib/devise.rb +21 -14
  17. data/lib/devise/controllers/helpers.rb +12 -1
  18. data/lib/devise/controllers/rememberable.rb +1 -1
  19. data/lib/devise/controllers/sign_in_out.rb +25 -10
  20. data/lib/devise/failure_app.rb +25 -17
  21. data/lib/devise/hooks/proxy.rb +1 -1
  22. data/lib/devise/models/authenticatable.rb +23 -2
  23. data/lib/devise/models/confirmable.rb +13 -7
  24. data/lib/devise/models/database_authenticatable.rb +0 -5
  25. data/lib/devise/models/recoverable.rb +10 -15
  26. data/lib/devise/omniauth/url_helpers.rb +0 -51
  27. data/lib/devise/orm/active_record.rb +3 -1
  28. data/lib/devise/orm/mongoid.rb +4 -2
  29. data/lib/devise/parameter_sanitizer.rb +0 -55
  30. data/lib/devise/rails.rb +3 -1
  31. data/lib/devise/test/controller_helpers.rb +162 -0
  32. data/lib/devise/test/integration_helpers.rb +61 -0
  33. data/lib/devise/test_helpers.rb +5 -129
  34. data/lib/devise/version.rb +1 -1
  35. data/lib/generators/templates/README +1 -8
  36. data/lib/generators/templates/devise.rb +6 -0
  37. data/test/controllers/custom_registrations_controller_test.rb +1 -1
  38. data/test/controllers/custom_strategy_test.rb +1 -1
  39. data/test/controllers/helpers_test.rb +4 -4
  40. data/test/controllers/internal_helpers_test.rb +1 -1
  41. data/test/controllers/passwords_controller_test.rb +1 -1
  42. data/test/controllers/sessions_controller_test.rb +2 -2
  43. data/test/devise_test.rb +9 -9
  44. data/test/failure_app_test.rb +18 -0
  45. data/test/integration/authenticatable_test.rb +36 -36
  46. data/test/integration/confirmable_test.rb +7 -7
  47. data/test/integration/database_authenticatable_test.rb +5 -5
  48. data/test/integration/http_authenticatable_test.rb +2 -2
  49. data/test/integration/lockable_test.rb +1 -1
  50. data/test/integration/mounted_engine_test.rb +36 -0
  51. data/test/integration/omniauthable_test.rb +1 -1
  52. data/test/integration/recoverable_test.rb +4 -4
  53. data/test/integration/registerable_test.rb +12 -6
  54. data/test/integration/rememberable_test.rb +10 -10
  55. data/test/integration/timeoutable_test.rb +5 -5
  56. data/test/mapping_test.rb +1 -1
  57. data/test/models/confirmable_test.rb +33 -25
  58. data/test/models/database_authenticatable_test.rb +13 -13
  59. data/test/models/lockable_test.rb +16 -16
  60. data/test/models/omniauthable_test.rb +1 -1
  61. data/test/models/recoverable_test.rb +10 -10
  62. data/test/models/registerable_test.rb +1 -1
  63. data/test/models/rememberable_test.rb +16 -3
  64. data/test/models/serializable_test.rb +5 -0
  65. data/test/models/timeoutable_test.rb +7 -7
  66. data/test/models/trackable_test.rb +1 -1
  67. data/test/models/validatable_test.rb +1 -1
  68. data/test/models_test.rb +2 -2
  69. data/test/parameter_sanitizer_test.rb +0 -56
  70. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +1 -1
  71. data/test/rails_app/config/environments/production.rb +3 -1
  72. data/test/rails_app/config/environments/test.rb +5 -6
  73. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +5 -1
  74. data/test/support/assertions.rb +0 -11
  75. data/test/{test_helpers_test.rb → test/controller_helpers_test.rb} +2 -2
  76. data/test/test/integration_helpers_test.rb +32 -0
  77. metadata +11 -6
  78. data/gemfiles/Gemfile.rails-5.0-beta +0 -37
  79. data/gemfiles/Gemfile.rails-5.0-beta.lock +0 -199
data/README.md CHANGED
@@ -89,7 +89,7 @@ Once you have solidified your understanding of Rails and authentication mechanis
89
89
 
90
90
  ## Getting started
91
91
 
92
- Devise 4.0 works with Rails 4.2 onwards. You can add it to your Gemfile with:
92
+ Devise 4.0 works with Rails 4.1 onwards. You can add it to your Gemfile with:
93
93
 
94
94
  ```ruby
95
95
  gem 'devise'
@@ -97,28 +97,31 @@ gem 'devise'
97
97
 
98
98
  Run the bundle command to install it.
99
99
 
100
- After you install Devise and add it to your Gemfile, you need to run the generator:
100
+ Next, you need to run the generator:
101
101
 
102
102
  ```console
103
- rails generate devise:install
103
+ $ rails generate devise:install
104
104
  ```
105
105
 
106
- The generator will install an initializer which describes ALL of Devise's configuration options. It is *imperative* that you take a look at it. When you are done, you are ready to add Devise to any of your models using the generator:
106
+ At this point, a number of instructions will appear in the console. Among these instructions, you'll need to set up the default URL options for the Devise mailer in each environment. Here is a possible configuration for `config/environments/development.rb`:
107
107
 
108
- ```console
109
- rails generate devise MODEL
108
+ ```ruby
109
+ config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
110
110
  ```
111
111
 
112
- Replace MODEL with the class name used for the application’s users (it’s frequently `User` but could also be `Admin`). This will create a model (if one does not exist) and configure it with the default Devise modules. The generator also configures your `config/routes.rb` file to point to the Devise controller.
112
+ The generator will install an initializer which describes ALL of Devise's configuration options. It is *imperative* that you take a look at it. When you are done, you are ready to add Devise to any of your models using the generator.
113
113
 
114
- Next, check the MODEL for any additional configuration options you might want to add, such as confirmable or lockable. If you add an option, be sure to inspect the migration file (created by the generator if your ORM supports them) and uncomment the appropriate section. For example, if you add the confirmable option in the model, you'll need to uncomment the Confirmable section in the migration. Then run `rake db:migrate`
115
114
 
116
- Next, you need to set up the default URL options for the Devise mailer in each environment. Here is a possible configuration for `config/environments/development.rb`:
115
+ In the following command you will replace `MODEL` with the class name used for the application’s users (it’s frequently `User` but could also be `Admin`). This will create a model (if one does not exist) and configure it with the default Devise modules. The generator also configures your `config/routes.rb` file to point to the Devise controller.
117
116
 
118
- ```ruby
119
- config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
117
+ ```console
118
+ $ rails generate devise MODEL
120
119
  ```
121
120
 
121
+ Next, check the MODEL for any additional configuration options you might want to add, such as confirmable or lockable. If you add an option, be sure to inspect the migration file (created by the generator if your ORM supports them) and uncomment the appropriate section. For example, if you add the confirmable option in the model, you'll need to uncomment the Confirmable section in the migration.
122
+
123
+ Then run `rake db:migrate`
124
+
122
125
  You should restart your application after changing Devise's configuration options. Otherwise, you will run into strange errors, for example, users being unable to login and route helpers being undefined.
123
126
 
124
127
  ### Controller filters and helpers
@@ -154,7 +157,7 @@ user_session
154
157
  After signing in a user, confirming the account or updating the password, Devise will look for a scoped root path to redirect to. For instance, when using a `:user` resource, the `user_root_path` will be used if it exists; otherwise, the default `root_path` will be used. This means that you need to set the root inside your routes:
155
158
 
156
159
  ```ruby
157
- root to: "home#index"
160
+ root to: 'home#index'
158
161
  ```
159
162
 
160
163
  You can also override `after_sign_in_path_for` and `after_sign_out_path_for` to customize your redirect hooks.
@@ -270,7 +273,7 @@ We built Devise to help you quickly develop an application that uses authenticat
270
273
  Since Devise is an engine, all its views are packaged inside the gem. These views will help you get started, but after some time you may want to change them. If this is the case, you just need to invoke the following generator, and it will copy all views to your application:
271
274
 
272
275
  ```console
273
- rails generate devise:views
276
+ $ rails generate devise:views
274
277
  ```
275
278
 
276
279
  If you have more than one Devise model in your application (such as `User` and `Admin`), you will notice that Devise uses the same views for all models. Fortunately, Devise offers an easy way to customize views. All you need to do is set `config.scoped_views = true` inside the `config/initializers/devise.rb` file.
@@ -278,14 +281,14 @@ If you have more than one Devise model in your application (such as `User` and `
278
281
  After doing so, you will be able to have views based on the role like `users/sessions/new` and `admins/sessions/new`. If no view is found within the scope, Devise will use the default view at `devise/sessions/new`. You can also use the generator to generate scoped views:
279
282
 
280
283
  ```console
281
- rails generate devise:views users
284
+ $ rails generate devise:views users
282
285
  ```
283
286
 
284
287
  If you would like to generate only a few sets of views, like the ones for the `registerable` and `confirmable` module,
285
288
  you can pass a list of modules to the generator with the `-v` flag.
286
289
 
287
290
  ```console
288
- rails generate devise:views -v registrations confirmations
291
+ $ rails generate devise:views -v registrations confirmations
289
292
  ```
290
293
 
291
294
  ### Configuring controllers
@@ -295,7 +298,7 @@ If the customization at the views level is not enough, you can customize each co
295
298
  1. Create your custom controllers using the generator which requires a scope:
296
299
 
297
300
  ```console
298
- rails generate devise:controllers [scope]
301
+ $ rails generate devise:controllers [scope]
299
302
  ```
300
303
 
301
304
  If you specify `users` as the scope, controllers will be created in `app/controllers/users/`.
@@ -314,7 +317,7 @@ If the customization at the views level is not enough, you can customize each co
314
317
  2. Tell the router to use this controller:
315
318
 
316
319
  ```ruby
317
- devise_for :users, controllers: { sessions: "users/sessions" }
320
+ devise_for :users, controllers: { sessions: 'users/sessions' }
318
321
  ```
319
322
 
320
323
  3. Copy the views from `devise/sessions` to `users/sessions`. Since the controller was changed, it won't use the default views located in `devise/sessions`.
@@ -352,7 +355,7 @@ Remember that Devise uses flash messages to let users know if sign in was succes
352
355
  Devise also ships with default routes. If you need to customize them, you should probably be able to do it through the devise_for method. It accepts several options like :class_name, :path_prefix and so on, including the possibility to change path names for I18n:
353
356
 
354
357
  ```ruby
355
- devise_for :users, path: "auth", path_names: { sign_in: 'login', sign_out: 'logout', password: 'secret', confirmation: 'verification', unlock: 'unblock', registration: 'register', sign_up: 'cmon_let_me_in' }
358
+ devise_for :users, path: 'auth', path_names: { sign_in: 'login', sign_out: 'logout', password: 'secret', confirmation: 'verification', unlock: 'unblock', registration: 'register', sign_up: 'cmon_let_me_in' }
356
359
  ```
357
360
 
358
361
  Be sure to check `devise_for` [documentation](http://www.rubydoc.info/github/plataformatec/devise/master/ActionDispatch/Routing/Mapper%3Adevise_for) for details.
@@ -361,7 +364,7 @@ If you have the need for more deep customization, for instance to also allow "/s
361
364
 
362
365
  ```ruby
363
366
  devise_scope :user do
364
- get "sign_in", to: "devise/sessions#new"
367
+ get 'sign_in', to: 'devise/sessions#new'
365
368
  end
366
369
  ```
367
370
 
@@ -411,45 +414,94 @@ Caution: Devise Controllers inherit from ApplicationController. If your app uses
411
414
 
412
415
  ### Test helpers
413
416
 
414
- Devise includes some test helpers for functional specs. In order to use them, you need to include Devise in your functional tests by adding the following to the bottom of your `test/test_helper.rb` file (make sure you place it out of scope of `ActiveSupport::TestCase` which is the default class inside of `test/test_helper.rb`):
417
+ Devise includes some test helpers for controller and integration tests.
418
+ In order to use them, you need to include the respective module in your test
419
+ cases/specs.
420
+
421
+ ### Controller tests
422
+
423
+ Controller tests require that you include `Devise::Test::ControllerHelpers` on
424
+ your test case or its parent `ActionController::TestCase` superclass.
415
425
 
416
426
  ```ruby
417
- class ActionController::TestCase
418
- include Devise::TestHelpers
427
+ class PostsControllerTest < ActionController::TestCase
428
+ include Devise::Test::ControllerHelpers
419
429
  end
420
430
  ```
421
431
 
422
- If you're using RSpec, you can put the following inside a file named `spec/support/devise.rb` or in your `spec/spec_helper.rb` (or `spec/rails_helper.rb` if you are using rspec-rails):
432
+ If you're using RSpec, you can put the following inside a file named
433
+ `spec/support/devise.rb` or in your `spec/spec_helper.rb` (or
434
+ `spec/rails_helper.rb` if you are using `rspec-rails`):
423
435
 
424
436
  ```ruby
425
437
  RSpec.configure do |config|
426
- config.include Devise::TestHelpers, type: :controller
427
- config.include Devise::TestHelpers, type: :view
438
+ config.include Devise::Test::ControllerHelpers, type: :controller
439
+ config.include Devise::Test::ControllerHelpers, type: :view
428
440
  end
429
441
  ```
430
442
 
431
443
  Just be sure that this inclusion is made *after* the `require 'rspec/rails'` directive.
432
444
 
433
- Now you are ready to use the `sign_in` and `sign_out` methods. Such methods have the same signature as in controllers:
445
+ Now you are ready to use the `sign_in` and `sign_out` methods on your controller
446
+ tests:
447
+
448
+ ```ruby
449
+ sign_in @user
450
+ sign_in @user, scope: admin
451
+ ```
452
+
453
+ If you are testing Devise internal controllers or a controller that inherits
454
+ from Devise's, you need to tell Devise which mapping should be used before a
455
+ request. This is necessary because Devise gets this information from the router,
456
+ but since controller tests do not pass through the router, it needs to be stated
457
+ explicitly. For example, if you are testing the user scope, simply use:
434
458
 
435
459
  ```ruby
436
- sign_in :user, @user # sign_in(scope, resource)
437
- sign_in @user # sign_in(resource)
460
+ test 'GET new' do
461
+ # Mimic the router behavior of setting the Devise scope through the env.
462
+ @request.env['devise.mapping'] = Devise.mappings[:user]
463
+
464
+ # Use the sign_in helper to sign in a fixture `User` record.
465
+ sign_in users(:alice)
438
466
 
439
- sign_out :user # sign_out(scope)
440
- sign_out @user # sign_out(resource)
467
+ get :new
468
+
469
+ # assert something
470
+ end
441
471
  ```
442
472
 
443
- There are two things that are important to keep in mind:
473
+ ### Integration tests
444
474
 
445
- 1. These helpers are not going to work for integration tests driven by Capybara or Webrat. They are meant to be used with functional tests only. It is undesirable even to include `Devise::TestHelpers` during integration tests. Instead, fill in the form or explicitly set the user in session;
475
+ Integration test helpers are available by including the
476
+ `Devise::Test::IntegrationHelpers` module.
446
477
 
447
- 2. If you are testing Devise internal controllers or a controller that inherits from Devise's, you need to tell Devise which mapping should be used before a request. This is necessary because Devise gets this information from the router, but since functional tests do not pass through the router, it needs to be stated explicitly. For example, if you are testing the user scope, simply use:
478
+ ```ruby
479
+ class PostsTests < ActionDispatch::IntegrationTest
480
+ include Devise::Test::IntegrationHelpers
481
+ end
482
+ ```
448
483
 
449
- ```ruby
450
- @request.env["devise.mapping"] = Devise.mappings[:user]
451
- get :new
452
- ```
484
+ Now you can use the following `sign_in` and `sign_out` methods in your integration
485
+ tests:
486
+
487
+ ```ruby
488
+ sign_in users(:bob)
489
+ sign_in users(:bob), scope: :admin
490
+
491
+ sign_out :user
492
+ ```
493
+
494
+ RSpec users can include the `IntegrationHelpers` module on their `:feature` specs.
495
+
496
+ ```ruby
497
+ RSpec.configure do |config|
498
+ config.include Devise::Test::IntegrationHelpers, type: :feature
499
+ end
500
+ ```
501
+
502
+ Unlike controller tests, integration tests do not need to supply the
503
+ `devise.mapping` `env` value, as the mapping can be inferred by the routes that
504
+ are executed in your tests.
453
505
 
454
506
  You can read more about testing your Rails 3 - Rails 4 controllers with RSpec in the wiki:
455
507
 
@@ -13,14 +13,14 @@ class Devise::OmniauthCallbacksController < DeviseController
13
13
  protected
14
14
 
15
15
  def failed_strategy
16
- request.respond_to?(:get_header) ? request.get_header("omniauth.error.strategy") : env["omniauth.error.strategy"]
16
+ request.respond_to?(:get_header) ? request.get_header("omniauth.error.strategy") : request.env["omniauth.error.strategy"]
17
17
  end
18
18
 
19
19
  def failure_message
20
- exception = request.respond_to?(:get_header) ? request.get_header("omniauth.error") : env["omniauth.error"]
20
+ exception = request.respond_to?(:get_header) ? request.get_header("omniauth.error") : request.env["omniauth.error"]
21
21
  error = exception.error_reason if exception.respond_to?(:error_reason)
22
22
  error ||= exception.error if exception.respond_to?(:error)
23
- error ||= (request.respond_to?(:get_header) ? request.get_header("omniauth.error.type") : env["omniauth.error.type"]).to_s
23
+ error ||= (request.respond_to?(:get_header) ? request.get_header("omniauth.error.type") : request.env["omniauth.error.type"]).to_s
24
24
  error.to_s.humanize if error
25
25
  end
26
26
 
@@ -1,13 +1,13 @@
1
1
  class Devise::RegistrationsController < DeviseController
2
2
  prepend_before_action :require_no_authentication, only: [:new, :create, :cancel]
3
3
  prepend_before_action :authenticate_scope!, only: [:edit, :update, :destroy]
4
+ prepend_before_action :set_minimum_password_length, only: [:new, :edit]
4
5
 
5
6
  # GET /resource/sign_up
6
7
  def new
7
8
  build_resource({})
8
- set_minimum_password_length
9
9
  yield resource if block_given?
10
- respond_with self.resource
10
+ respond_with resource
11
11
  end
12
12
 
13
13
  # POST /resource
@@ -53,7 +53,7 @@ class Devise::RegistrationsController < DeviseController
53
53
  :update_needs_confirmation : :updated
54
54
  set_flash_message :notice, flash_key
55
55
  end
56
- sign_in resource_name, resource, bypass: true
56
+ bypass_sign_in resource, scope: resource_name
57
57
  respond_with resource, location: after_update_path_for(resource)
58
58
  else
59
59
  clean_up_passwords resource
@@ -15,6 +15,10 @@
15
15
  <div class="field">
16
16
  <%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
17
17
  <%= f.password_field :password, autocomplete: "off" %>
18
+ <% if @minimum_password_length %>
19
+ <br />
20
+ <em><%= @minimum_password_length %> characters minimum</em>
21
+ <% end %>
18
22
  </div>
19
23
 
20
24
  <div class="field">
@@ -3,13 +3,13 @@ source "https://rubygems.org"
3
3
  gemspec path: ".."
4
4
 
5
5
  gem "rails", github: "rails/rails", branch: "4-1-stable"
6
- gem "omniauth", "~> 1.3"
7
- gem "omniauth-oauth2", "~> 1.4"
6
+ gem "omniauth"
7
+ gem "omniauth-oauth2"
8
8
  gem "rdoc"
9
9
 
10
10
  group :test do
11
11
  gem "omniauth-facebook"
12
- gem "omniauth-openid", "~> 1.0.1"
12
+ gem "omniauth-openid"
13
13
  gem "webrat", "0.7.3", require: false
14
14
  gem "mocha", "~> 1.1", require: false
15
15
  gem 'test_after_commit', require: false
@@ -26,5 +26,5 @@ platforms :ruby do
26
26
  end
27
27
 
28
28
  group :mongoid do
29
- gem "mongoid", "~> 4.0.0"
29
+ gem "mongoid", "~> 4.0"
30
30
  end
@@ -1,6 +1,6 @@
1
1
  GIT
2
2
  remote: git://github.com/rails/rails.git
3
- revision: 41b4d81b4fd14cbf43060c223bea0f461256d099
3
+ revision: 9f5cbe613c8a80282970c73b0f00095788d54e34
4
4
  branch: 4-1-stable
5
5
  specs:
6
6
  actionmailer (4.1.15)
@@ -48,7 +48,7 @@ GIT
48
48
  PATH
49
49
  remote: ..
50
50
  specs:
51
- devise (4.0.1)
51
+ devise (4.2.0)
52
52
  bcrypt (~> 3.0)
53
53
  orm_adapter (~> 0.1)
54
54
  railties (>= 4.1.0, < 5.1)
@@ -62,21 +62,23 @@ GEM
62
62
  bcrypt (3.1.11)
63
63
  bson (3.2.6)
64
64
  builder (3.2.2)
65
- concurrent-ruby (1.0.1)
65
+ concurrent-ruby (1.0.2)
66
66
  connection_pool (2.2.0)
67
67
  erubis (2.7.0)
68
68
  faraday (0.9.2)
69
69
  multipart-post (>= 1.2, < 3)
70
- hashie (3.4.3)
70
+ hashie (3.4.4)
71
71
  i18n (0.7.0)
72
72
  json (1.8.3)
73
- jwt (1.5.1)
74
- mail (2.6.3)
75
- mime-types (>= 1.16, < 3)
73
+ jwt (1.5.4)
74
+ mail (2.6.4)
75
+ mime-types (>= 1.16, < 4)
76
76
  metaclass (0.0.4)
77
- mime-types (2.99.1)
78
- mini_portile2 (2.0.0)
79
- minitest (5.8.4)
77
+ mime-types (3.1)
78
+ mime-types-data (~> 3.2015)
79
+ mime-types-data (3.2016.0521)
80
+ mini_portile2 (2.1.0)
81
+ minitest (5.9.0)
80
82
  mocha (1.1.0)
81
83
  metaclass (~> 0.0.1)
82
84
  mongoid (4.0.2)
@@ -88,14 +90,15 @@ GEM
88
90
  bson (~> 3.0)
89
91
  connection_pool (~> 2.0)
90
92
  optionable (~> 0.2.0)
91
- multi_json (1.11.2)
93
+ multi_json (1.12.1)
92
94
  multi_xml (0.5.5)
93
95
  multipart-post (2.0.0)
94
- nokogiri (1.6.7.2)
95
- mini_portile2 (~> 2.0.0.rc2)
96
- oauth2 (1.1.0)
96
+ nokogiri (1.6.8)
97
+ mini_portile2 (~> 2.1.0)
98
+ pkg-config (~> 1.1.7)
99
+ oauth2 (1.2.0)
97
100
  faraday (>= 0.8, < 0.10)
98
- jwt (~> 1.0, < 1.5.2)
101
+ jwt (~> 1.0)
99
102
  multi_json (~> 1.3)
100
103
  multi_xml (~> 0.5)
101
104
  rack (>= 1.2, < 3)
@@ -113,19 +116,20 @@ GEM
113
116
  optionable (0.2.0)
114
117
  origin (2.2.0)
115
118
  orm_adapter (0.5.0)
119
+ pkg-config (1.1.7)
116
120
  rack (1.5.5)
117
121
  rack-openid (1.3.1)
118
122
  rack (>= 1.1.0)
119
123
  ruby-openid (>= 2.1.8)
120
124
  rack-test (0.6.3)
121
125
  rack (>= 1.0)
122
- rake (11.0.1)
126
+ rake (11.2.2)
123
127
  rdoc (4.2.2)
124
128
  json (~> 1.4)
125
129
  responders (1.1.2)
126
130
  railties (>= 3.2, < 4.2)
127
131
  ruby-openid (2.7.0)
128
- sprockets (3.5.2)
132
+ sprockets (3.6.2)
129
133
  concurrent-ruby (~> 1.0)
130
134
  rack (> 1, < 3)
131
135
  sprockets-rails (2.3.3)
@@ -133,7 +137,7 @@ GEM
133
137
  activesupport (>= 3.0)
134
138
  sprockets (>= 2.8, < 4.0)
135
139
  sqlite3 (1.3.11)
136
- test_after_commit (1.0.0)
140
+ test_after_commit (1.1.0)
137
141
  activerecord (>= 3.2)
138
142
  thor (0.19.1)
139
143
  thread_safe (0.3.5)
@@ -155,11 +159,11 @@ DEPENDENCIES
155
159
  devise!
156
160
  jruby-openssl
157
161
  mocha (~> 1.1)
158
- mongoid (~> 4.0.0)
159
- omniauth (~> 1.3)
162
+ mongoid (~> 4.0)
163
+ omniauth
160
164
  omniauth-facebook
161
- omniauth-oauth2 (~> 1.4)
162
- omniauth-openid (~> 1.0.1)
165
+ omniauth-oauth2
166
+ omniauth-openid
163
167
  rails!
164
168
  rdoc
165
169
  sqlite3
@@ -167,4 +171,4 @@ DEPENDENCIES
167
171
  webrat (= 0.7.3)
168
172
 
169
173
  BUNDLED WITH
170
- 1.11.2
174
+ 1.12.5
@@ -3,13 +3,13 @@ source "https://rubygems.org"
3
3
  gemspec path: ".."
4
4
 
5
5
  gem "rails", github: "rails/rails", branch: "4-2-stable"
6
- gem "omniauth", "~> 1.3"
7
- gem "omniauth-oauth2", "~> 1.4"
6
+ gem "omniauth"
7
+ gem "omniauth-oauth2"
8
8
  gem "rdoc"
9
9
 
10
10
  group :test do
11
11
  gem "omniauth-facebook"
12
- gem "omniauth-openid", "~> 1.0.1"
12
+ gem "omniauth-openid"
13
13
  gem "webrat", "0.7.3", require: false
14
14
  gem "mocha", "~> 1.1", require: false
15
15
  gem 'test_after_commit', require: false
@@ -26,5 +26,5 @@ platforms :ruby do
26
26
  end
27
27
 
28
28
  group :mongoid do
29
- gem "mongoid", "~> 4.0.0"
29
+ gem "mongoid", "~> 4.0"
30
30
  end