devise 3.4.1 → 3.5.1

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +26 -16
  3. data/CHANGELOG.md +131 -104
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +84 -85
  6. data/MIT-LICENSE +1 -1
  7. data/README.md +52 -32
  8. data/Rakefile +2 -1
  9. data/app/controllers/devise/confirmations_controller.rb +4 -0
  10. data/app/controllers/devise/omniauth_callbacks_controller.rb +4 -0
  11. data/app/controllers/devise/passwords_controller.rb +14 -4
  12. data/app/controllers/devise/registrations_controller.rb +10 -11
  13. data/app/controllers/devise/sessions_controller.rb +7 -2
  14. data/app/controllers/devise/unlocks_controller.rb +3 -0
  15. data/app/controllers/devise_controller.rb +34 -18
  16. data/app/views/devise/confirmations/new.html.erb +1 -1
  17. data/app/views/devise/passwords/edit.html.erb +3 -0
  18. data/app/views/devise/registrations/new.html.erb +1 -1
  19. data/gemfiles/Gemfile.rails-3.2-stable.lock +43 -43
  20. data/gemfiles/Gemfile.rails-4.0-stable.lock +45 -47
  21. data/gemfiles/Gemfile.rails-4.1-stable.lock +52 -53
  22. data/gemfiles/Gemfile.rails-4.2-stable +29 -0
  23. data/gemfiles/Gemfile.rails-4.2-stable.lock +191 -0
  24. data/lib/devise.rb +23 -28
  25. data/lib/devise/controllers/rememberable.rb +1 -1
  26. data/lib/devise/controllers/sign_in_out.rb +1 -1
  27. data/lib/devise/controllers/store_location.rb +3 -1
  28. data/lib/devise/controllers/url_helpers.rb +7 -9
  29. data/lib/devise/encryptor.rb +22 -0
  30. data/lib/devise/failure_app.rb +26 -10
  31. data/lib/devise/mapping.rb +1 -0
  32. data/lib/devise/models/authenticatable.rb +20 -26
  33. data/lib/devise/models/confirmable.rb +29 -7
  34. data/lib/devise/models/database_authenticatable.rb +6 -9
  35. data/lib/devise/models/recoverable.rb +22 -10
  36. data/lib/devise/models/rememberable.rb +16 -3
  37. data/lib/devise/models/trackable.rb +1 -2
  38. data/lib/devise/models/validatable.rb +3 -3
  39. data/lib/devise/rails.rb +1 -1
  40. data/lib/devise/rails/routes.rb +3 -3
  41. data/lib/devise/strategies/authenticatable.rb +5 -2
  42. data/lib/devise/strategies/database_authenticatable.rb +1 -1
  43. data/lib/devise/strategies/rememberable.rb +10 -0
  44. data/lib/devise/test_helpers.rb +2 -2
  45. data/lib/devise/version.rb +1 -1
  46. data/lib/generators/active_record/templates/migration.rb +1 -1
  47. data/lib/generators/active_record/templates/migration_existing.rb +1 -1
  48. data/lib/generators/templates/controllers/README +1 -1
  49. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +1 -1
  50. data/lib/generators/templates/controllers/registrations_controller.rb +2 -2
  51. data/lib/generators/templates/controllers/sessions_controller.rb +1 -1
  52. data/lib/generators/templates/devise.rb +14 -8
  53. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +1 -1
  54. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +1 -1
  55. data/test/controllers/custom_registrations_controller_test.rb +6 -1
  56. data/test/controllers/helpers_test.rb +5 -0
  57. data/test/controllers/inherited_controller_i18n_messages_test.rb +51 -0
  58. data/test/controllers/internal_helpers_test.rb +4 -4
  59. data/test/controllers/load_hooks_controller_test.rb +19 -0
  60. data/test/controllers/passwords_controller_test.rb +1 -1
  61. data/test/controllers/sessions_controller_test.rb +3 -3
  62. data/test/devise_test.rb +2 -2
  63. data/test/failure_app_test.rb +23 -0
  64. data/test/integration/database_authenticatable_test.rb +11 -0
  65. data/test/integration/omniauthable_test.rb +1 -1
  66. data/test/integration/recoverable_test.rb +13 -0
  67. data/test/integration/rememberable_test.rb +9 -0
  68. data/test/mapping_test.rb +6 -0
  69. data/test/models/confirmable_test.rb +47 -34
  70. data/test/models/lockable_test.rb +6 -6
  71. data/test/models/recoverable_test.rb +39 -7
  72. data/test/models/rememberable_test.rb +8 -2
  73. data/test/models/validatable_test.rb +5 -5
  74. data/test/rails_app/app/controllers/custom/registrations_controller.rb +10 -0
  75. data/test/rails_app/config/application.rb +1 -1
  76. data/test/rails_app/config/environments/production.rb +6 -2
  77. data/test/rails_app/config/environments/test.rb +7 -2
  78. data/test/rails_app/config/initializers/devise.rb +12 -15
  79. data/test/rails_app/lib/shared_user.rb +1 -1
  80. data/test/rails_test.rb +9 -0
  81. data/test/support/integration.rb +2 -2
  82. data/test/test_helpers_test.rb +22 -7
  83. data/test/test_models.rb +2 -2
  84. metadata +11 -2
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  # encoding: UTF-8
2
- require "bundler/gem_tasks"
2
+
3
+ require 'bundler/gem_tasks'
3
4
  require 'rake/testtask'
4
5
  require 'rdoc/task'
5
6
 
@@ -44,4 +44,8 @@ class Devise::ConfirmationsController < DeviseController
44
44
  new_session_path(resource_name)
45
45
  end
46
46
  end
47
+
48
+ def translation_scope
49
+ 'devise.confirmations'
50
+ end
47
51
  end
@@ -27,4 +27,8 @@ class Devise::OmniauthCallbacksController < DeviseController
27
27
  def after_omniauth_failure_path_for(scope)
28
28
  new_session_path(scope)
29
29
  end
30
+
31
+ def translation_scope
32
+ 'devise.omniauth_callbacks'
33
+ end
30
34
  end
@@ -23,6 +23,7 @@ class Devise::PasswordsController < DeviseController
23
23
  # GET /resource/password/edit?reset_password_token=abcdef
24
24
  def edit
25
25
  self.resource = resource_class.new
26
+ set_minimum_password_length
26
27
  resource.reset_password_token = params[:reset_password_token]
27
28
  end
28
29
 
@@ -33,10 +34,15 @@ class Devise::PasswordsController < DeviseController
33
34
 
34
35
  if resource.errors.empty?
35
36
  resource.unlock_access! if unlockable?(resource)
36
- flash_message = resource.active_for_authentication? ? :updated : :updated_not_active
37
- set_flash_message(:notice, flash_message) if is_flashing_format?
38
- sign_in(resource_name, resource)
39
- respond_with resource, location: after_resetting_password_path_for(resource)
37
+ if Devise.sign_in_after_reset_password
38
+ flash_message = resource.active_for_authentication? ? :updated : :updated_not_active
39
+ set_flash_message(:notice, flash_message) if is_flashing_format?
40
+ sign_in(resource_name, resource)
41
+ respond_with resource, location: after_resetting_password_path_for(resource)
42
+ else
43
+ set_flash_message(:notice, :updated_not_active) if is_flashing_format?
44
+ respond_with resource, location: new_session_path(resource_name)
45
+ end
40
46
  else
41
47
  respond_with resource
42
48
  end
@@ -67,4 +73,8 @@ class Devise::PasswordsController < DeviseController
67
73
  resource.respond_to?(:unlock_strategy_enabled?) &&
68
74
  resource.unlock_strategy_enabled?(:email)
69
75
  end
76
+
77
+ def translation_scope
78
+ 'devise.passwords'
79
+ end
70
80
  end
@@ -1,14 +1,12 @@
1
1
  class Devise::RegistrationsController < DeviseController
2
- prepend_before_filter :require_no_authentication, only: [ :new, :create, :cancel ]
2
+ prepend_before_filter :require_no_authentication, only: [:new, :create, :cancel]
3
3
  prepend_before_filter :authenticate_scope!, only: [:edit, :update, :destroy]
4
4
 
5
5
  # GET /resource/sign_up
6
6
  def new
7
7
  build_resource({})
8
- @validatable = devise_mapping.validatable?
9
- if @validatable
10
- @minimum_password_length = resource_class.password_length.min
11
- end
8
+ set_minimum_password_length
9
+ yield resource if block_given?
12
10
  respond_with self.resource
13
11
  end
14
12
 
@@ -16,9 +14,9 @@ class Devise::RegistrationsController < DeviseController
16
14
  def create
17
15
  build_resource(sign_up_params)
18
16
 
19
- resource_saved = resource.save
17
+ resource.save
20
18
  yield resource if block_given?
21
- if resource_saved
19
+ if resource.persisted?
22
20
  if resource.active_for_authentication?
23
21
  set_flash_message :notice, :signed_up if is_flashing_format?
24
22
  sign_up(resource_name, resource)
@@ -30,10 +28,7 @@ class Devise::RegistrationsController < DeviseController
30
28
  end
31
29
  else
32
30
  clean_up_passwords resource
33
- @validatable = devise_mapping.validatable?
34
- if @validatable
35
- @minimum_password_length = resource_class.password_length.min
36
- end
31
+ set_minimum_password_length
37
32
  respond_with resource
38
33
  end
39
34
  end
@@ -145,4 +140,8 @@ class Devise::RegistrationsController < DeviseController
145
140
  def account_update_params
146
141
  devise_parameter_sanitizer.sanitize(:account_update)
147
142
  end
143
+
144
+ def translation_scope
145
+ 'devise.registrations'
146
+ end
148
147
  end
@@ -1,13 +1,14 @@
1
1
  class Devise::SessionsController < DeviseController
2
- prepend_before_filter :require_no_authentication, only: [ :new, :create ]
2
+ prepend_before_filter :require_no_authentication, only: [:new, :create]
3
3
  prepend_before_filter :allow_params_authentication!, only: :create
4
4
  prepend_before_filter :verify_signed_out_user, only: :destroy
5
- prepend_before_filter only: [ :create, :destroy ] { request.env["devise.skip_timeout"] = true }
5
+ prepend_before_filter only: [:create, :destroy] { request.env["devise.skip_timeout"] = true }
6
6
 
7
7
  # GET /resource/sign_in
8
8
  def new
9
9
  self.resource = resource_class.new(sign_in_params)
10
10
  clean_up_passwords(resource)
11
+ yield resource if block_given?
11
12
  respond_with(resource, serialize_options(resource))
12
13
  end
13
14
 
@@ -45,6 +46,10 @@ class Devise::SessionsController < DeviseController
45
46
  { scope: resource_name, recall: "#{controller_path}#new" }
46
47
  end
47
48
 
49
+ def translation_scope
50
+ 'devise.sessions'
51
+ end
52
+
48
53
  private
49
54
 
50
55
  # Check if there is no signed in user before doing the sign out.
@@ -43,4 +43,7 @@ class Devise::UnlocksController < DeviseController
43
43
  new_session_path(resource) if is_navigational_format?
44
44
  end
45
45
 
46
+ def translation_scope
47
+ 'devise.unlocks'
48
+ end
46
49
  end
@@ -6,12 +6,28 @@ class DeviseController < Devise.parent_controller.constantize
6
6
 
7
7
  helpers = %w(resource scope_name resource_name signed_in_resource
8
8
  resource_class resource_params devise_mapping)
9
- hide_action(*helpers)
10
9
  helper_method(*helpers)
11
10
 
12
11
  prepend_before_filter :assert_is_devise_resource!
13
12
  respond_to :html if mimes_for_respond_to.empty?
14
13
 
14
+ # Override prefixes to consider the scoped view.
15
+ # Notice we need to check for the request due to a bug in
16
+ # Action Controller tests that forces _prefixes to be
17
+ # loaded before even having a request object.
18
+ #
19
+ # This method should be public as it is is in ActionPack
20
+ # itself. Changing its visibility may break other gems.
21
+ def _prefixes #:nodoc:
22
+ @_prefixes ||= if self.class.scoped_views? && request && devise_mapping
23
+ ["#{devise_mapping.scoped_path}/#{controller_name}"] + super
24
+ else
25
+ super
26
+ end
27
+ end
28
+
29
+ protected
30
+
15
31
  # Gets the actual resource stored in the instance variable
16
32
  def resource
17
33
  instance_variable_get(:"@#{resource_name}")
@@ -38,22 +54,6 @@ class DeviseController < Devise.parent_controller.constantize
38
54
  @devise_mapping ||= request.env["devise.mapping"]
39
55
  end
40
56
 
41
- # Override prefixes to consider the scoped view.
42
- # Notice we need to check for the request due to a bug in
43
- # Action Controller tests that forces _prefixes to be
44
- # loaded before even having a request object.
45
- def _prefixes #:nodoc:
46
- @_prefixes ||= if self.class.scoped_views? && request && devise_mapping
47
- ["#{devise_mapping.scoped_path}/#{controller_name}"] + super
48
- else
49
- super
50
- end
51
- end
52
-
53
- hide_action :_prefixes
54
-
55
- protected
56
-
57
57
  # Checks whether it's a devise mapped resource or not.
58
58
  def assert_is_devise_resource! #:nodoc:
59
59
  unknown_action! <<-MESSAGE unless devise_mapping
@@ -154,19 +154,33 @@ MESSAGE
154
154
  end
155
155
  end
156
156
 
157
+ # Sets minimum password length to show to user
158
+ def set_minimum_password_length
159
+ if devise_mapping.validatable?
160
+ @minimum_password_length = resource_class.password_length.min
161
+ end
162
+ end
163
+
157
164
  def devise_i18n_options(options)
158
165
  options
159
166
  end
160
167
 
161
168
  # Get message for given
162
169
  def find_message(kind, options = {})
163
- options[:scope] = "devise.#{controller_name}"
170
+ options[:scope] ||= translation_scope
164
171
  options[:default] = Array(options[:default]).unshift(kind.to_sym)
165
172
  options[:resource_name] = resource_name
166
173
  options = devise_i18n_options(options)
167
174
  I18n.t("#{options[:resource_name]}.#{kind}", options)
168
175
  end
169
176
 
177
+ # Controllers inheriting DeviseController are advised to override this
178
+ # method so that other controllers inheriting from them would use
179
+ # existing translations.
180
+ def translation_scope
181
+ "devise.#{controller_name}"
182
+ end
183
+
170
184
  def clean_up_passwords(object)
171
185
  object.clean_up_passwords if object.respond_to?(:clean_up_passwords)
172
186
  end
@@ -180,4 +194,6 @@ MESSAGE
180
194
  def resource_params
181
195
  params.fetch(resource_name, {})
182
196
  end
197
+
198
+ ActiveSupport.run_load_hooks(:devise_controller, self)
183
199
  end
@@ -5,7 +5,7 @@
5
5
 
6
6
  <div class="field">
7
7
  <%= f.label :email %><br />
8
- <%= f.email_field :email, autofocus: true %>
8
+ <%= f.email_field :email, autofocus: true, value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
9
9
  </div>
10
10
 
11
11
  <div class="actions">
@@ -6,6 +6,9 @@
6
6
 
7
7
  <div class="field">
8
8
  <%= f.label :password, "New password" %><br />
9
+ <% if @minimum_password_length %>
10
+ <em>(<%= @minimum_password_length %> characters minimum)</em>
11
+ <% end %><br />
9
12
  <%= f.password_field :password, autofocus: true, autocomplete: "off" %>
10
13
  </div>
11
14
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  <div class="field">
12
12
  <%= f.label :password %>
13
- <% if @validatable %>
13
+ <% if @minimum_password_length %>
14
14
  <em>(<%= @minimum_password_length %> characters minimum)</em>
15
15
  <% end %><br />
16
16
  <%= f.password_field :password, autocomplete: "off" %>
@@ -1,14 +1,14 @@
1
1
  GIT
2
2
  remote: git://github.com/rails/rails.git
3
- revision: 11fd052aa815ae0255ea5b2463e88138fb3fec61
3
+ revision: b344986bc3d94ca7821fc5e0eef1874882ac6cbb
4
4
  branch: 3-2-stable
5
5
  specs:
6
- actionmailer (3.2.19)
7
- actionpack (= 3.2.19)
6
+ actionmailer (3.2.21)
7
+ actionpack (= 3.2.21)
8
8
  mail (~> 2.5.4)
9
- actionpack (3.2.19)
10
- activemodel (= 3.2.19)
11
- activesupport (= 3.2.19)
9
+ actionpack (3.2.21)
10
+ activemodel (= 3.2.21)
11
+ activesupport (= 3.2.21)
12
12
  builder (~> 3.0.0)
13
13
  erubis (~> 2.7.0)
14
14
  journey (~> 1.0.4)
@@ -16,31 +16,31 @@ GIT
16
16
  rack-cache (~> 1.2)
17
17
  rack-test (~> 0.6.1)
18
18
  sprockets (~> 2.2.1)
19
- activemodel (3.2.19)
20
- activesupport (= 3.2.19)
19
+ activemodel (3.2.21)
20
+ activesupport (= 3.2.21)
21
21
  builder (~> 3.0.0)
22
- activerecord (3.2.19)
23
- activemodel (= 3.2.19)
24
- activesupport (= 3.2.19)
22
+ activerecord (3.2.21)
23
+ activemodel (= 3.2.21)
24
+ activesupport (= 3.2.21)
25
25
  arel (~> 3.0.2)
26
26
  tzinfo (~> 0.3.29)
27
- activeresource (3.2.19)
28
- activemodel (= 3.2.19)
29
- activesupport (= 3.2.19)
30
- activesupport (3.2.19)
27
+ activeresource (3.2.21)
28
+ activemodel (= 3.2.21)
29
+ activesupport (= 3.2.21)
30
+ activesupport (3.2.21)
31
31
  i18n (~> 0.6, >= 0.6.4)
32
32
  multi_json (~> 1.0)
33
- rails (3.2.19)
34
- actionmailer (= 3.2.19)
35
- actionpack (= 3.2.19)
36
- activerecord (= 3.2.19)
37
- activeresource (= 3.2.19)
38
- activesupport (= 3.2.19)
33
+ rails (3.2.21)
34
+ actionmailer (= 3.2.21)
35
+ actionpack (= 3.2.21)
36
+ activerecord (= 3.2.21)
37
+ activeresource (= 3.2.21)
38
+ activesupport (= 3.2.21)
39
39
  bundler (~> 1.0)
40
- railties (= 3.2.19)
41
- railties (3.2.19)
42
- actionpack (= 3.2.19)
43
- activesupport (= 3.2.19)
40
+ railties (= 3.2.21)
41
+ railties (3.2.21)
42
+ actionpack (= 3.2.21)
43
+ activesupport (= 3.2.21)
44
44
  rack-ssl (~> 1.3.2)
45
45
  rake (>= 0.8.7)
46
46
  rdoc (~> 3.4)
@@ -61,23 +61,23 @@ GEM
61
61
  remote: https://rubygems.org/
62
62
  specs:
63
63
  arel (3.0.3)
64
- bcrypt (3.1.7)
64
+ bcrypt (3.1.10)
65
65
  builder (3.0.4)
66
66
  erubis (2.7.0)
67
- faraday (0.9.0)
67
+ faraday (0.9.1)
68
68
  multipart-post (>= 1.2, < 3)
69
- hashie (3.2.0)
69
+ hashie (3.4.0)
70
70
  hike (1.2.3)
71
- i18n (0.6.11)
71
+ i18n (0.7.0)
72
72
  journey (1.0.4)
73
- json (1.8.1)
74
- jwt (1.0.0)
73
+ json (1.8.2)
74
+ jwt (1.4.1)
75
75
  mail (2.5.4)
76
76
  mime-types (~> 1.16)
77
77
  treetop (~> 1.4.8)
78
78
  metaclass (0.0.4)
79
79
  mime-types (1.25.1)
80
- mini_portile (0.6.0)
80
+ mini_portile (0.6.2)
81
81
  mocha (1.1.0)
82
82
  metaclass (~> 0.0.1)
83
83
  mongoid (3.1.6)
@@ -86,11 +86,11 @@ GEM
86
86
  origin (~> 1.0)
87
87
  tzinfo (~> 0.3.29)
88
88
  moped (1.5.2)
89
- multi_json (1.10.1)
89
+ multi_json (1.11.0)
90
90
  multi_xml (0.5.5)
91
91
  multipart-post (2.0.0)
92
- nokogiri (1.6.3.1)
93
- mini_portile (= 0.6.0)
92
+ nokogiri (1.6.6.2)
93
+ mini_portile (~> 0.6.0)
94
94
  oauth2 (0.9.4)
95
95
  faraday (>= 0.8, < 0.10)
96
96
  jwt (~> 1.0)
@@ -121,27 +121,27 @@ GEM
121
121
  ruby-openid (>= 2.1.8)
122
122
  rack-ssl (1.3.4)
123
123
  rack
124
- rack-test (0.6.2)
124
+ rack-test (0.6.3)
125
125
  rack (>= 1.0)
126
- rake (10.3.2)
126
+ rake (10.4.2)
127
127
  rdoc (3.12.2)
128
128
  json (~> 1.4)
129
- responders (1.1.1)
129
+ responders (1.1.2)
130
130
  railties (>= 3.2, < 4.2)
131
- ruby-openid (2.5.0)
132
- sprockets (2.2.2)
131
+ ruby-openid (2.7.0)
132
+ sprockets (2.2.3)
133
133
  hike (~> 1.2)
134
134
  multi_json (~> 1.0)
135
135
  rack (~> 1.0)
136
136
  tilt (~> 1.1, != 1.3.0)
137
- sqlite3 (1.3.9)
137
+ sqlite3 (1.3.10)
138
138
  thor (0.19.1)
139
- thread_safe (0.3.4)
139
+ thread_safe (0.3.5)
140
140
  tilt (1.4.1)
141
141
  treetop (1.4.15)
142
142
  polyglot
143
143
  polyglot (>= 0.3.1)
144
- tzinfo (0.3.41)
144
+ tzinfo (0.3.43)
145
145
  warden (1.2.3)
146
146
  rack (>= 1.0)
147
147
  webrat (0.7.3)
@@ -1,42 +1,42 @@
1
1
  GIT
2
2
  remote: git://github.com/rails/rails.git
3
- revision: 2d8886e05104316273a0f95dfbcd171d3b12678b
3
+ revision: 7ec9c9635bf4d57009135ed11e89d8bf32306d73
4
4
  branch: 4-0-stable
5
5
  specs:
6
- actionmailer (4.0.9)
7
- actionpack (= 4.0.9)
6
+ actionmailer (4.0.13)
7
+ actionpack (= 4.0.13)
8
8
  mail (~> 2.5, >= 2.5.4)
9
- actionpack (4.0.9)
10
- activesupport (= 4.0.9)
9
+ actionpack (4.0.13)
10
+ activesupport (= 4.0.13)
11
11
  builder (~> 3.1.0)
12
12
  erubis (~> 2.7.0)
13
13
  rack (~> 1.5.2)
14
14
  rack-test (~> 0.6.2)
15
- activemodel (4.0.9)
16
- activesupport (= 4.0.9)
15
+ activemodel (4.0.13)
16
+ activesupport (= 4.0.13)
17
17
  builder (~> 3.1.0)
18
- activerecord (4.0.9)
19
- activemodel (= 4.0.9)
18
+ activerecord (4.0.13)
19
+ activemodel (= 4.0.13)
20
20
  activerecord-deprecated_finders (~> 1.0.2)
21
- activesupport (= 4.0.9)
21
+ activesupport (= 4.0.13)
22
22
  arel (~> 4.0.0)
23
- activesupport (4.0.9)
23
+ activesupport (4.0.13)
24
24
  i18n (~> 0.6, >= 0.6.9)
25
25
  minitest (~> 4.2)
26
26
  multi_json (~> 1.3)
27
27
  thread_safe (~> 0.1)
28
28
  tzinfo (~> 0.3.37)
29
- rails (4.0.9)
30
- actionmailer (= 4.0.9)
31
- actionpack (= 4.0.9)
32
- activerecord (= 4.0.9)
33
- activesupport (= 4.0.9)
29
+ rails (4.0.13)
30
+ actionmailer (= 4.0.13)
31
+ actionpack (= 4.0.13)
32
+ activerecord (= 4.0.13)
33
+ activesupport (= 4.0.13)
34
34
  bundler (>= 1.3.0, < 2.0)
35
- railties (= 4.0.9)
35
+ railties (= 4.0.13)
36
36
  sprockets-rails (~> 2.0)
37
- railties (4.0.9)
38
- actionpack (= 4.0.9)
39
- activesupport (= 4.0.9)
37
+ railties (4.0.13)
38
+ actionpack (= 4.0.13)
39
+ activesupport (= 4.0.13)
40
40
  rake (>= 0.8.7)
41
41
  thor (>= 0.18.1, < 2.0)
42
42
 
@@ -56,40 +56,39 @@ GEM
56
56
  specs:
57
57
  activerecord-deprecated_finders (1.0.3)
58
58
  arel (4.0.2)
59
- bcrypt (3.1.7)
59
+ bcrypt (3.1.10)
60
60
  bson (2.3.0)
61
61
  builder (3.1.4)
62
- connection_pool (2.0.0)
62
+ connection_pool (2.1.3)
63
63
  erubis (2.7.0)
64
- faraday (0.9.0)
64
+ faraday (0.9.1)
65
65
  multipart-post (>= 1.2, < 3)
66
- hashie (3.2.0)
66
+ hashie (3.4.0)
67
67
  hike (1.2.3)
68
- i18n (0.6.11)
69
- json (1.8.1)
70
- jwt (1.0.0)
71
- mail (2.6.1)
68
+ i18n (0.7.0)
69
+ jwt (1.4.1)
70
+ mail (2.6.3)
72
71
  mime-types (>= 1.16, < 3)
73
72
  metaclass (0.0.4)
74
- mime-types (2.3)
75
- mini_portile (0.6.0)
73
+ mime-types (2.4.3)
74
+ mini_portile (0.6.2)
76
75
  minitest (4.7.5)
77
76
  mocha (1.1.0)
78
77
  metaclass (~> 0.0.1)
79
- mongoid (4.0.0)
78
+ mongoid (4.0.2)
80
79
  activemodel (~> 4.0)
81
80
  moped (~> 2.0.0)
82
81
  origin (~> 2.1)
83
82
  tzinfo (>= 0.3.37)
84
- moped (2.0.0)
83
+ moped (2.0.4)
85
84
  bson (~> 2.2)
86
85
  connection_pool (~> 2.0)
87
86
  optionable (~> 0.2.0)
88
- multi_json (1.10.1)
87
+ multi_json (1.11.0)
89
88
  multi_xml (0.5.5)
90
89
  multipart-post (2.0.0)
91
- nokogiri (1.6.3.1)
92
- mini_portile (= 0.6.0)
90
+ nokogiri (1.6.6.2)
91
+ mini_portile (~> 0.6.0)
93
92
  oauth2 (0.9.4)
94
93
  faraday (>= 0.8, < 0.10)
95
94
  jwt (~> 1.0)
@@ -116,28 +115,27 @@ GEM
116
115
  rack-openid (1.3.1)
117
116
  rack (>= 1.1.0)
118
117
  ruby-openid (>= 2.1.8)
119
- rack-test (0.6.2)
118
+ rack-test (0.6.3)
120
119
  rack (>= 1.0)
121
- rake (10.3.2)
122
- rdoc (4.1.1)
123
- json (~> 1.4)
124
- responders (1.1.1)
120
+ rake (10.4.2)
121
+ rdoc (4.2.0)
122
+ responders (1.1.2)
125
123
  railties (>= 3.2, < 4.2)
126
- ruby-openid (2.5.0)
127
- sprockets (2.12.1)
124
+ ruby-openid (2.7.0)
125
+ sprockets (2.12.3)
128
126
  hike (~> 1.2)
129
127
  multi_json (~> 1.0)
130
128
  rack (~> 1.0)
131
129
  tilt (~> 1.1, != 1.3.0)
132
- sprockets-rails (2.1.3)
130
+ sprockets-rails (2.2.4)
133
131
  actionpack (>= 3.0)
134
132
  activesupport (>= 3.0)
135
- sprockets (~> 2.8)
136
- sqlite3 (1.3.9)
133
+ sprockets (>= 2.8, < 4.0)
134
+ sqlite3 (1.3.10)
137
135
  thor (0.19.1)
138
- thread_safe (0.3.4)
136
+ thread_safe (0.3.5)
139
137
  tilt (1.4.1)
140
- tzinfo (0.3.41)
138
+ tzinfo (0.3.43)
141
139
  warden (1.2.3)
142
140
  rack (>= 1.0)
143
141
  webrat (0.7.3)