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
@@ -73,59 +73,3 @@ class ParameterSanitizerTest < ActiveSupport::TestCase
73
73
  assert_equal({ 'username' => 'jose' }, sanitized)
74
74
  end
75
75
  end
76
-
77
- class DeprecatedParameterSanitizerAPITest < ActiveSupport::TestCase
78
- class CustomSanitizer < Devise::ParameterSanitizer
79
- def sign_in
80
- default_params.permit(:username)
81
- end
82
- end
83
-
84
- def sanitizer(params)
85
- params = ActionController::Parameters.new(params)
86
- Devise::ParameterSanitizer.new(User, :user, params)
87
- end
88
-
89
- test 'overriding instance methods have precedence over the default sanitized attributes' do
90
- assert_deprecated do
91
- params = ActionController::Parameters.new(user: { "username" => "jose", "name" => "Jose" })
92
- sanitizer = CustomSanitizer.new(User, :user, params)
93
-
94
- sanitized = sanitizer.sanitize(:sign_in)
95
-
96
- assert_equal({ "username" => "jose" }, sanitized)
97
- end
98
- end
99
-
100
- test 'adding new parameters by mutating the Array' do
101
- assert_deprecated do
102
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
103
- sanitizer.for(:sign_in) << :username
104
- sanitized = sanitizer.sanitize(:sign_in)
105
-
106
- assert_equal({ 'username' => 'jose' }, sanitized)
107
- end
108
- end
109
-
110
- test 'adding new parameters with a block' do
111
- assert_deprecated do
112
- sanitizer = sanitizer('user' => { 'username' => 'jose' })
113
- sanitizer.for(:sign_in) { |user| user.permit(:username) }
114
-
115
- sanitized = sanitizer.sanitize(:sign_in)
116
-
117
- assert_equal({ 'username' => 'jose' }, sanitized)
118
- end
119
- end
120
-
121
- test 'removing multiple default parameters' do
122
- assert_deprecated do
123
- sanitizer = sanitizer('user' => { 'email' => 'jose', 'password' => 'invalid', 'remember_me' => '1' })
124
- sanitizer.for(:sign_in).delete(:email)
125
- sanitizer.for(:sign_in).delete(:password)
126
- sanitized = sanitizer.sanitize(:sign_in)
127
-
128
- assert_equal({ 'remember_me' => '1' }, sanitized)
129
- end
130
- end
131
- end
@@ -1,6 +1,6 @@
1
1
  class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
2
2
  def facebook
3
- data = request.respond_to?(:get_header) ? request.get_header("omniauth.auth") : env["omniauth.auth"]
3
+ data = request.respond_to?(:get_header) ? request.get_header("omniauth.auth") : request.env["omniauth.auth"]
4
4
  session["devise.facebook_data"] = data["extra"]["user_hash"]
5
5
  render json: data
6
6
  end
@@ -20,7 +20,9 @@ RailsApp::Application.configure do
20
20
  # config.action_dispatch.rack_cache = true
21
21
 
22
22
  # Disable Rails's static asset server (Apache or nginx will already do this).
23
- if Rails.version >= "4.2.0"
23
+ if Rails.version >= "5.0.0"
24
+ config.public_file_server.enabled = false
25
+ elsif Rails.version >= "4.2.0"
24
26
  config.serve_static_files = false
25
27
  else
26
28
  config.serve_static_assets = false
@@ -14,15 +14,14 @@ RailsApp::Application.configure do
14
14
 
15
15
  # Disable serving static files from the `/public` folder by default since
16
16
  # Apache or NGINX already handles this.
17
- if Rails.version >= "4.2.0"
18
- config.serve_static_files = true
19
- else
20
- config.serve_static_assets = true
21
- end
22
-
23
17
  if Rails.version >= "5.0.0"
18
+ config.public_file_server.enabled = true
24
19
  config.public_file_server.headers = {'Cache-Control' => 'public, max-age=3600'}
20
+ elsif Rails.version >= "4.2.0"
21
+ config.serve_static_files = true
22
+ config.static_cache_control = "public, max-age=3600"
25
23
  else
24
+ config.serve_static_assets = true
26
25
  config.static_cache_control = "public, max-age=3600"
27
26
  end
28
27
 
@@ -1,4 +1,8 @@
1
- class CreateTables < ActiveRecord::Migration
1
+ superclass = ActiveRecord::Migration
2
+ # TODO: Inherit from the 5.0 Migration class directly when we drop support for Rails 4.
3
+ superclass = ActiveRecord::Migration[5.0] if superclass.respond_to?(:[])
4
+
5
+ class CreateTables < superclass
2
6
  def self.up
3
7
  create_table :users do |t|
4
8
  t.string :username
@@ -1,10 +1,6 @@
1
1
  require 'active_support/test_case'
2
2
 
3
3
  class ActiveSupport::TestCase
4
- def assert_not(assertion)
5
- assert !assertion
6
- end
7
-
8
4
  def assert_blank(assertion)
9
5
  assert assertion.blank?
10
6
  end
@@ -24,13 +20,6 @@ class ActiveSupport::TestCase
24
20
  assert_no_difference('ActionMailer::Base.deliveries.size', &block)
25
21
  end
26
22
 
27
- def assert_same_content(result, expected)
28
- assert expected.size == result.size, "the arrays doesn't have the same size"
29
- expected.each do |element|
30
- assert result.include?(element), "The array doesn't include '#{element}'."
31
- end
32
- end
33
-
34
23
  def assert_raise_with_message(exception_klass, message, &block)
35
24
  exception = assert_raise exception_klass, &block
36
25
  assert_equal exception.message, message,
@@ -1,8 +1,8 @@
1
1
  require 'test_helper'
2
2
 
3
- class TestHelpersTest < Devise::ControllerTestCase
3
+ class TestControllerHelpersTest < Devise::ControllerTestCase
4
4
  tests UsersController
5
- include Devise::TestHelpers
5
+ include Devise::Test::ControllerHelpers
6
6
 
7
7
  test "redirects if attempting to access a page unauthenticated" do
8
8
  get :index
@@ -0,0 +1,32 @@
1
+ require 'test_helper'
2
+
3
+ class TestIntegrationsHelpersTest < Devise::IntegrationTest
4
+ include Devise::Test::IntegrationHelpers
5
+
6
+ test '#sign_in signs in the resource directly' do
7
+ sign_in(create_user)
8
+
9
+ visit '/'
10
+ assert warden.authenticated?(:user)
11
+ end
12
+
13
+ test '#sign_outs signs out in the resource directly' do
14
+ user = create_user
15
+ sign_in user
16
+ sign_out user
17
+
18
+ visit '/'
19
+ refute warden.authenticated?(:user)
20
+ end
21
+
22
+ test '#sign_out does not signs out other scopes' do
23
+ sign_in(create_user)
24
+ sign_in(create_admin)
25
+ sign_out :user
26
+
27
+ visit '/'
28
+
29
+ refute warden.authenticated?(:user)
30
+ assert warden.authenticated?(:admin)
31
+ end
32
+ 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: 4.1.1
4
+ version: 4.2.0
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-07-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: warden
@@ -133,8 +133,7 @@ files:
133
133
  - gemfiles/Gemfile.rails-4.1-stable.lock
134
134
  - gemfiles/Gemfile.rails-4.2-stable
135
135
  - gemfiles/Gemfile.rails-4.2-stable.lock
136
- - gemfiles/Gemfile.rails-5.0-beta
137
- - gemfiles/Gemfile.rails-5.0-beta.lock
136
+ - guides/bug_report_templates/integration_test.rb
138
137
  - lib/devise.rb
139
138
  - lib/devise/controllers/helpers.rb
140
139
  - lib/devise/controllers/rememberable.rb
@@ -182,6 +181,8 @@ files:
182
181
  - lib/devise/strategies/base.rb
183
182
  - lib/devise/strategies/database_authenticatable.rb
184
183
  - lib/devise/strategies/rememberable.rb
184
+ - lib/devise/test/controller_helpers.rb
185
+ - lib/devise/test/integration_helpers.rb
185
186
  - lib/devise/test_helpers.rb
186
187
  - lib/devise/time_inflector.rb
187
188
  - lib/devise/token_generator.rb
@@ -240,6 +241,7 @@ files:
240
241
  - test/integration/database_authenticatable_test.rb
241
242
  - test/integration/http_authenticatable_test.rb
242
243
  - test/integration/lockable_test.rb
244
+ - test/integration/mounted_engine_test.rb
243
245
  - test/integration/omniauthable_test.rb
244
246
  - test/integration/recoverable_test.rb
245
247
  - test/integration/registerable_test.rb
@@ -344,8 +346,9 @@ files:
344
346
  - test/support/locale/en.yml
345
347
  - test/support/mongoid.yml
346
348
  - test/support/webrat/integrations/rails.rb
349
+ - test/test/controller_helpers_test.rb
350
+ - test/test/integration_helpers_test.rb
347
351
  - test/test_helper.rb
348
- - test/test_helpers_test.rb
349
352
  - test/test_models.rb
350
353
  homepage: https://github.com/plataformatec/devise
351
354
  licenses:
@@ -397,6 +400,7 @@ test_files:
397
400
  - test/integration/database_authenticatable_test.rb
398
401
  - test/integration/http_authenticatable_test.rb
399
402
  - test/integration/lockable_test.rb
403
+ - test/integration/mounted_engine_test.rb
400
404
  - test/integration/omniauthable_test.rb
401
405
  - test/integration/recoverable_test.rb
402
406
  - test/integration/registerable_test.rb
@@ -501,6 +505,7 @@ test_files:
501
505
  - test/support/locale/en.yml
502
506
  - test/support/mongoid.yml
503
507
  - test/support/webrat/integrations/rails.rb
508
+ - test/test/controller_helpers_test.rb
509
+ - test/test/integration_helpers_test.rb
504
510
  - test/test_helper.rb
505
- - test/test_helpers_test.rb
506
511
  - test/test_models.rb
@@ -1,37 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec path: ".."
4
-
5
- gem "rails", "5.0.0.beta3"
6
- gem "omniauth", " ~>1.3"
7
- gem "oauth2"
8
- gem "omniauth-oauth2", ">= 1.2.0", "< 1.5.0"
9
- gem "rdoc"
10
-
11
- gem "activemodel-serializers-xml", github: "rails/activemodel-serializers-xml"
12
-
13
- gem "rails-controller-testing"
14
-
15
- gem "responders", "~> 2.1.1"
16
-
17
- group :test do
18
- gem "omniauth-facebook"
19
- gem "omniauth-openid", "~> 1.0.1"
20
- gem "webrat", "0.7.3", require: false
21
- gem "mocha", "~> 1.1", require: false
22
- end
23
-
24
- platforms :jruby do
25
- gem "activerecord-jdbc-adapter"
26
- gem "activerecord-jdbcsqlite3-adapter"
27
- gem "jruby-openssl"
28
- end
29
-
30
- platforms :ruby do
31
- gem "sqlite3"
32
- end
33
-
34
- # TODO:
35
- # group :mongoid do
36
- # gem "mongoid", "~> 4.0.0"
37
- # end
@@ -1,199 +0,0 @@
1
- GIT
2
- remote: git://github.com/rails/activemodel-serializers-xml.git
3
- revision: f380ea5ddefcb9a37f4fbc47606ed6fbecdb2b2a
4
- specs:
5
- activemodel-serializers-xml (1.0.0)
6
- activemodel (> 5.x)
7
- activerecord (> 5.x)
8
- activesupport (> 5.x)
9
- builder (~> 3.1)
10
-
11
- PATH
12
- remote: ..
13
- specs:
14
- devise (4.0.0.rc2)
15
- bcrypt (~> 3.0)
16
- orm_adapter (~> 0.1)
17
- railties (>= 4.1.0, < 5.1)
18
- responders
19
- warden (~> 1.2.3)
20
-
21
- GEM
22
- remote: https://rubygems.org/
23
- specs:
24
- actioncable (5.0.0.beta3)
25
- actionpack (= 5.0.0.beta3)
26
- nio4r (~> 1.2)
27
- websocket-driver (~> 0.6.1)
28
- actionmailer (5.0.0.beta3)
29
- actionpack (= 5.0.0.beta3)
30
- actionview (= 5.0.0.beta3)
31
- activejob (= 5.0.0.beta3)
32
- mail (~> 2.5, >= 2.5.4)
33
- rails-dom-testing (~> 1.0, >= 1.0.5)
34
- actionpack (5.0.0.beta3)
35
- actionview (= 5.0.0.beta3)
36
- activesupport (= 5.0.0.beta3)
37
- rack (~> 2.x)
38
- rack-test (~> 0.6.3)
39
- rails-dom-testing (~> 1.0, >= 1.0.5)
40
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
41
- actionview (5.0.0.beta3)
42
- activesupport (= 5.0.0.beta3)
43
- builder (~> 3.1)
44
- erubis (~> 2.7.0)
45
- rails-dom-testing (~> 1.0, >= 1.0.5)
46
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
47
- activejob (5.0.0.beta3)
48
- activesupport (= 5.0.0.beta3)
49
- globalid (>= 0.3.6)
50
- activemodel (5.0.0.beta3)
51
- activesupport (= 5.0.0.beta3)
52
- activerecord (5.0.0.beta3)
53
- activemodel (= 5.0.0.beta3)
54
- activesupport (= 5.0.0.beta3)
55
- arel (~> 7.0)
56
- activesupport (5.0.0.beta3)
57
- concurrent-ruby (~> 1.0)
58
- i18n (~> 0.7)
59
- minitest (~> 5.1)
60
- tzinfo (~> 1.1)
61
- arel (7.0.0)
62
- bcrypt (3.1.11)
63
- builder (3.2.2)
64
- concurrent-ruby (1.0.1)
65
- erubis (2.7.0)
66
- faraday (0.9.2)
67
- multipart-post (>= 1.2, < 3)
68
- globalid (0.3.6)
69
- activesupport (>= 4.1.0)
70
- hashie (3.4.3)
71
- i18n (0.7.0)
72
- json (1.8.3)
73
- jwt (1.5.1)
74
- loofah (2.0.3)
75
- nokogiri (>= 1.5.9)
76
- mail (2.6.4)
77
- mime-types (>= 1.16, < 4)
78
- metaclass (0.0.4)
79
- method_source (0.8.2)
80
- mime-types (3.0)
81
- mime-types-data (~> 3.2015)
82
- mime-types-data (3.2016.0221)
83
- mini_portile2 (2.0.0)
84
- minitest (5.8.4)
85
- mocha (1.1.0)
86
- metaclass (~> 0.0.1)
87
- multi_json (1.11.2)
88
- multi_xml (0.5.5)
89
- multipart-post (2.0.0)
90
- nio4r (1.2.1)
91
- nokogiri (1.6.7.2)
92
- mini_portile2 (~> 2.0.0.rc2)
93
- oauth2 (1.1.0)
94
- faraday (>= 0.8, < 0.10)
95
- jwt (~> 1.0, < 1.5.2)
96
- multi_json (~> 1.3)
97
- multi_xml (~> 0.5)
98
- rack (>= 1.2, < 3)
99
- omniauth (1.3.1)
100
- hashie (>= 1.2, < 4)
101
- rack (>= 1.0, < 3)
102
- omniauth-facebook (3.0.0)
103
- omniauth-oauth2 (~> 1.2)
104
- omniauth-oauth2 (1.4.0)
105
- oauth2 (~> 1.0)
106
- omniauth (~> 1.2)
107
- omniauth-openid (1.0.1)
108
- omniauth (~> 1.0)
109
- rack-openid (~> 1.3.1)
110
- orm_adapter (0.5.0)
111
- rack (2.0.0.alpha)
112
- json
113
- rack-openid (1.3.1)
114
- rack (>= 1.1.0)
115
- ruby-openid (>= 2.1.8)
116
- rack-test (0.6.3)
117
- rack (>= 1.0)
118
- rails (5.0.0.beta3)
119
- actioncable (= 5.0.0.beta3)
120
- actionmailer (= 5.0.0.beta3)
121
- actionpack (= 5.0.0.beta3)
122
- actionview (= 5.0.0.beta3)
123
- activejob (= 5.0.0.beta3)
124
- activemodel (= 5.0.0.beta3)
125
- activerecord (= 5.0.0.beta3)
126
- activesupport (= 5.0.0.beta3)
127
- bundler (>= 1.3.0, < 2.0)
128
- railties (= 5.0.0.beta3)
129
- sprockets-rails (>= 2.0.0)
130
- rails-controller-testing (0.1.1)
131
- actionpack (~> 5.x)
132
- actionview (~> 5.x)
133
- activesupport (~> 5.x)
134
- rails-deprecated_sanitizer (1.0.3)
135
- activesupport (>= 4.2.0.alpha)
136
- rails-dom-testing (1.0.7)
137
- activesupport (>= 4.2.0.beta, < 5.0)
138
- nokogiri (~> 1.6.0)
139
- rails-deprecated_sanitizer (>= 1.0.1)
140
- rails-html-sanitizer (1.0.3)
141
- loofah (~> 2.0)
142
- railties (5.0.0.beta3)
143
- actionpack (= 5.0.0.beta3)
144
- activesupport (= 5.0.0.beta3)
145
- method_source
146
- rake (>= 0.8.7)
147
- thor (>= 0.18.1, < 2.0)
148
- rake (11.1.2)
149
- rdoc (4.2.2)
150
- json (~> 1.4)
151
- responders (2.1.2)
152
- railties (>= 4.2.0, < 5.1)
153
- ruby-openid (2.7.0)
154
- sprockets (3.6.0)
155
- concurrent-ruby (~> 1.0)
156
- rack (> 1, < 3)
157
- sprockets-rails (3.0.4)
158
- actionpack (>= 4.0)
159
- activesupport (>= 4.0)
160
- sprockets (>= 3.0.0)
161
- sqlite3 (1.3.11)
162
- thor (0.19.1)
163
- thread_safe (0.3.5)
164
- tzinfo (1.2.2)
165
- thread_safe (~> 0.1)
166
- warden (1.2.6)
167
- rack (>= 1.0)
168
- webrat (0.7.3)
169
- nokogiri (>= 1.2.0)
170
- rack (>= 1.0)
171
- rack-test (>= 0.5.3)
172
- websocket-driver (0.6.3)
173
- websocket-extensions (>= 0.1.0)
174
- websocket-extensions (0.1.2)
175
-
176
- PLATFORMS
177
- ruby
178
-
179
- DEPENDENCIES
180
- activemodel-serializers-xml!
181
- activerecord-jdbc-adapter
182
- activerecord-jdbcsqlite3-adapter
183
- devise!
184
- jruby-openssl
185
- mocha (~> 1.1)
186
- oauth2
187
- omniauth (~> 1.3)
188
- omniauth-facebook
189
- omniauth-oauth2 (>= 1.2.0, < 1.5.0)
190
- omniauth-openid (~> 1.0.1)
191
- rails (= 5.0.0.beta3)
192
- rails-controller-testing
193
- rdoc
194
- responders (~> 2.1.1)
195
- sqlite3
196
- webrat (= 0.7.3)
197
-
198
- BUNDLED WITH
199
- 1.11.2