Skip to content

Commit b1f3e5c

Browse files
committed
fixup! Revert changes breaking Rails 4.2 support
1 parent 0061d20 commit b1f3e5c

File tree

9 files changed

+77
-20
lines changed

9 files changed

+77
-20
lines changed

example_app_generator/generate_app.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
gsub_file "Gemfile", /.*gem..sqlite3.*/, "gem 'sqlite3', '~> 1.3.6'"
2727
gsub_file "Gemfile", /.*bootsnap.*/, ""
2828

29-
append_to_file('Gemfile', "gem 'rails-controller-testing'\n")
29+
if Rails::VERSION::STRING >= '5.0.0'
30+
append_to_file('Gemfile', "gem 'rails-controller-testing'\n")
31+
end
3032

3133
if Rails::VERSION::STRING >= '6'
3234
gsub_file "Gemfile", /.*gem..sqlite3.*/, "gem 'sqlite3', '~> 1.4'"

lib/generators/rspec/mailer/templates/mailer_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
require "rails_helper"
22

33
<% module_namespacing do -%>
4-
RSpec.describe <%= class_name.sub(/(Mailer)?$/, 'Mailer') %>, <%= type_metatag(:mailer) %> do
4+
RSpec.describe <%= Rails.version.to_f >= 5.0 ? class_name.sub(/(Mailer)?$/, 'Mailer') : class_name %>, <%= type_metatag(:mailer) %> do
55
<% for action in actions -%>
66
describe "<%= action %>" do
7-
let(:mail) { <%= class_name.sub(/(Mailer)?$/, 'Mailer') %>.<%= action %> }
7+
let(:mail) { <%= Rails.version.to_f >= 5.0 ? class_name.sub(/(Mailer)?$/, 'Mailer') : class_name %>.<%= action %> }
88
99
it "renders the headers" do
1010
expect(mail.subject).to eq(<%= action.to_s.humanize.inspect %>)

lib/generators/rspec/mailer/templates/preview.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class <%= class_name %>Preview < ActionMailer::Preview
55

66
# Preview this email at http://localhost:3000/rails/mailers/<%= file_path %>/<%= action %>
77
def <%= action %>
8-
<%= class_name.sub(/(Mailer)?$/, 'Mailer') %>.<%= action %>
8+
<%= Rails.version.to_f >= 5.0 ? class_name.sub(/(Mailer)?$/, 'Mailer') : class_name %>.<%= action %>
99
end
1010
<% end -%>
1111

lib/generators/rspec/scaffold/templates/controller_spec.rb

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@
4646
describe "GET #index" do
4747
it "returns a success response" do
4848
<%= class_name %>.create! valid_attributes
49+
<% if Rails::VERSION::STRING < '5.0' -%>
50+
get :index, {}, valid_session
51+
<% else -%>
4952
get :index, params: {}, session: valid_session
53+
<% end -%>
5054
expect(response).to be_successful
5155
end
5256
end
@@ -55,22 +59,34 @@
5559
describe "GET #show" do
5660
it "returns a success response" do
5761
<%= file_name %> = <%= class_name %>.create! valid_attributes
62+
<% if Rails::VERSION::STRING < '5.0' -%>
63+
get :show, {id: <%= file_name %>.to_param}, valid_session
64+
<% else -%>
5865
get :show, params: {id: <%= file_name %>.to_param}, session: valid_session
66+
<% end -%>
5967
expect(response).to be_successful
6068
end
6169
end
6270
6371
describe "GET #new" do
6472
it "returns a success response" do
73+
<% if Rails::VERSION::STRING < '5.0' -%>
74+
get :new, {}, valid_session
75+
<% else -%>
6576
get :new, params: {}, session: valid_session
77+
<% end -%>
6678
expect(response).to be_successful
6779
end
6880
end
6981
7082
describe "GET #edit" do
7183
it "returns a success response" do
7284
<%= file_name %> = <%= class_name %>.create! valid_attributes
85+
<% if Rails::VERSION::STRING < '5.0' -%>
86+
get :edit, {id: <%= file_name %>.to_param}, valid_session
87+
<% else -%>
7388
get :edit, params: {id: <%= file_name %>.to_param}, session: valid_session
89+
<% end -%>
7490
expect(response).to be_successful
7591
end
7692
end
@@ -79,19 +95,31 @@
7995
context "with valid params" do
8096
it "creates a new <%= class_name %>" do
8197
expect {
98+
<% if Rails::VERSION::STRING < '5.0' -%>
99+
post :create, {<%= ns_file_name %>: valid_attributes}, valid_session
100+
<% else -%>
82101
post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
102+
<% end -%>
83103
}.to change(<%= class_name %>, :count).by(1)
84104
end
85105
86106
it "redirects to the created <%= ns_file_name %>" do
107+
<% if Rails::VERSION::STRING < '5.0' -%>
108+
post :create, {<%= ns_file_name %>: valid_attributes}, valid_session
109+
<% else -%>
87110
post :create, params: {<%= ns_file_name %>: valid_attributes}, session: valid_session
111+
<% end -%>
88112
expect(response).to redirect_to(<%= class_name %>.last)
89113
end
90114
end
91115
92116
context "with invalid params" do
93117
it "returns a success response (i.e. to display the 'new' template)" do
118+
<% if Rails::VERSION::STRING < '5.0' -%>
119+
post :create, {<%= ns_file_name %>: invalid_attributes}, valid_session
120+
<% else -%>
94121
post :create, params: {<%= ns_file_name %>: invalid_attributes}, session: valid_session
122+
<% end -%>
95123
expect(response).to be_successful
96124
end
97125
end
@@ -105,22 +133,34 @@
105133
106134
it "updates the requested <%= ns_file_name %>" do
107135
<%= file_name %> = <%= class_name %>.create! valid_attributes
136+
<% if Rails::VERSION::STRING < '5.0' -%>
137+
put :update, {id: <%= file_name %>.to_param, <%= ns_file_name %>: new_attributes}, valid_session
138+
<% else -%>
108139
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: new_attributes}, session: valid_session
140+
<% end -%>
109141
<%= file_name %>.reload
110142
skip("Add assertions for updated state")
111143
end
112144
113145
it "redirects to the <%= ns_file_name %>" do
114146
<%= file_name %> = <%= class_name %>.create! valid_attributes
147+
<% if Rails::VERSION::STRING < '5.0' -%>
148+
put :update, {id: <%= file_name %>.to_param, <%= ns_file_name %>: valid_attributes}, valid_session
149+
<% else -%>
115150
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: valid_attributes}, session: valid_session
151+
<% end -%>
116152
expect(response).to redirect_to(<%= file_name %>)
117153
end
118154
end
119155
120156
context "with invalid params" do
121157
it "returns a success response (i.e. to display the 'edit' template)" do
122158
<%= file_name %> = <%= class_name %>.create! valid_attributes
159+
<% if Rails::VERSION::STRING < '5.0' -%>
160+
put :update, {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, valid_session
161+
<% else -%>
123162
put :update, params: {id: <%= file_name %>.to_param, <%= ns_file_name %>: invalid_attributes}, session: valid_session
163+
<% end -%>
124164
expect(response).to be_successful
125165
end
126166
end
@@ -130,13 +170,21 @@
130170
it "destroys the requested <%= ns_file_name %>" do
131171
<%= file_name %> = <%= class_name %>.create! valid_attributes
132172
expect {
173+
<% if Rails::VERSION::STRING < '5.0' -%>
174+
delete :destroy, {id: <%= file_name %>.to_param}, valid_session
175+
<% else -%>
133176
delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session
177+
<% end -%>
134178
}.to change(<%= class_name %>, :count).by(-1)
135179
end
136180
137181
it "redirects to the <%= table_name %> list" do
138182
<%= file_name %> = <%= class_name %>.create! valid_attributes
183+
<% if Rails::VERSION::STRING < '5.0' -%>
184+
delete :destroy, {id: <%= file_name %>.to_param}, valid_session
185+
<% else -%>
139186
delete :destroy, params: {id: <%= file_name %>.to_param}, session: valid_session
187+
<% end -%>
140188
expect(response).to redirect_to(<%= index_helper %>_url)
141189
end
142190
end

lib/rspec/rails/configuration.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,10 @@ def self.initialize_configuration(config)
7979
# `RSpec::Rails::FixtureSupport` directly instead
8080
config.include RSpec::Rails::FixtureSupport
8181

82-
config.add_setting :file_fixture_path, default: 'spec/fixtures/files'
83-
config.include RSpec::Rails::FileFixtureSupport
82+
if ::Rails::VERSION::STRING > '5'
83+
config.add_setting :file_fixture_path, default: 'spec/fixtures/files'
84+
config.include RSpec::Rails::FileFixtureSupport
85+
end
8486

8587
# Add support for fixture_path on fixture_file_upload
8688
config.include RSpec::Rails::FixtureFileUploadSupport

lib/rspec/rails/file_fixture_support.rb

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
require 'active_support/testing/file_fixtures'
1+
if ::Rails::VERSION::STRING > '5'
2+
require 'active_support/testing/file_fixtures'
23

3-
module RSpec
4-
module Rails
5-
# @private
6-
module FileFixtureSupport
7-
extend ActiveSupport::Concern
8-
include ActiveSupport::Testing::FileFixtures
4+
module RSpec
5+
module Rails
6+
# @private
7+
module FileFixtureSupport
8+
extend ActiveSupport::Concern
9+
include ActiveSupport::Testing::FileFixtures
910

10-
included do
11-
self.file_fixture_path = RSpec.configuration.file_fixture_path
11+
included do
12+
self.file_fixture_path = RSpec.configuration.file_fixture_path
13+
end
1214
end
1315
end
1416
end

lib/rspec/rails/fixture_support.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ module FixtureSupport
1111

1212
included do
1313
self.fixture_path = RSpec.configuration.fixture_path
14-
self.use_transactional_tests = RSpec.configuration.use_transactional_fixtures
14+
if ::Rails::VERSION::STRING > '5'
15+
self.use_transactional_tests = RSpec.configuration.use_transactional_fixtures
16+
else
17+
self.use_transactional_fixtures = RSpec.configuration.use_transactional_fixtures
18+
end
1519
self.use_instantiated_fixtures = RSpec.configuration.use_instantiated_fixtures
1620

1721
def self.fixtures(*args)

rspec-rails.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
3333
s.cert_chain = [File.expand_path('~/.gem/rspec-gem-public_cert.pem')]
3434
end
3535

36-
version_string = ['>= 5.0']
36+
version_string = ['>= 4.2']
3737

3838
s.add_runtime_dependency %q<activesupport>, version_string
3939
s.add_runtime_dependency %q<actionpack>, version_string

spec/generators/rspec/scaffold/scaffold_generator_spec.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,7 @@
110110
it { is_expected.to contain('assert_select "tr>td", text: 3.5.to_s, count: 2') }
111111
end
112112

113-
case
114-
when Rails.version.to_f >= 5.1
113+
if Rails.version.to_f >= 5.1
115114
describe 'with reference attribute' do
116115
before { run_generator %w(posts title:string author:references) }
117116
describe 'edit' do
@@ -126,7 +125,7 @@
126125
it { is_expected.to contain(/assert_select "input\[name=\?\]", "post\[title\]/) }
127126
end
128127
end
129-
when Rails.version.to_f >= 5.0
128+
else
130129
describe 'with reference attribute' do
131130
before { run_generator %w(posts title:string author:references) }
132131
describe 'edit' do

0 commit comments

Comments
 (0)