Skip to content

Commit 45ad879

Browse files
committed
Remove all code to support old Rails versions
1 parent 413596d commit 45ad879

File tree

9 files changed

+15
-125
lines changed

9 files changed

+15
-125
lines changed

lib/action_dispatch/session/active_record_store.rb

+1-9
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,7 @@ class ActiveRecordStore < ActionDispatch::Session::AbstractStore
5858
cattr_accessor :session_class
5959

6060
SESSION_RECORD_KEY = 'rack.session.record'
61-
if Rack.const_defined?(:RACK_SESSION_OPTIONS)
62-
ENV_SESSION_OPTIONS_KEY = Rack::RACK_SESSION_OPTIONS
63-
else
64-
ENV_SESSION_OPTIONS_KEY = Rack::Session::Abstract::ENV_SESSION_OPTIONS_KEY
65-
end
61+
ENV_SESSION_OPTIONS_KEY = Rack::RACK_SESSION_OPTIONS
6662

6763
private
6864
def get_session(request, sid)
@@ -148,7 +144,3 @@ def logger
148144
end
149145
end
150146

151-
if ActiveRecord::VERSION::MAJOR == 4
152-
require 'action_dispatch/session/legacy_support'
153-
ActionDispatch::Session::ActiveRecordStore.send(:include, ActionDispatch::Session::LegacySupport)
154-
end

lib/action_dispatch/session/legacy_support.rb

-51
This file was deleted.

lib/active_record/session_store.rb

+2-10
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,12 @@ def deserialize(data)
2121
end
2222

2323
def drop_table!
24-
if connection.schema_cache.respond_to?(:clear_data_source_cache!)
25-
connection.schema_cache.clear_data_source_cache!(table_name)
26-
else
27-
connection.schema_cache.clear_table_cache!(table_name)
28-
end
24+
connection.schema_cache.clear_data_source_cache!(table_name)
2925
connection.drop_table table_name
3026
end
3127

3228
def create_table!
33-
if connection.schema_cache.respond_to?(:clear_data_source_cache!)
34-
connection.schema_cache.clear_data_source_cache!(table_name)
35-
else
36-
connection.schema_cache.clear_table_cache!(table_name)
37-
end
29+
connection.schema_cache.clear_data_source_cache!(table_name)
3830
connection.create_table(table_name) do |t|
3931
t.string session_id_column, :limit => 255
4032
t.text data_column_name

lib/active_record/session_store/session.rb

-9
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,6 @@ class Session < ActiveRecord::Base
1717
before_save :serialize_data!
1818
before_save :raise_on_session_data_overflow!
1919

20-
# This method is defiend in `protected_attributes` gem. We can't check for
21-
# `attr_accessible` as Rails also define this and raise `RuntimeError`
22-
# telling you to use the gem.
23-
if respond_to?(:accessible_attributes)
24-
attr_accessible :session_id, :data
25-
end
26-
2720
class << self
2821
def data_column_size_limit
2922
@data_column_size_limit ||= columns_hash[data_column_name].limit
@@ -81,7 +74,6 @@ def loaded?
8174
private
8275
def serialize_data!
8376
unless loaded?
84-
return false if Rails::VERSION::MAJOR < 5
8577
throw :abort
8678
end
8779
write_attribute(@@data_column_name, self.class.serialize(data))
@@ -92,7 +84,6 @@ def serialize_data!
9284
# ActionController::SessionOverflowError.
9385
def raise_on_session_data_overflow!
9486
unless loaded?
95-
return false if Rails::VERSION::MAJOR < 5
9687
throw :abort
9788
end
9889
limit = self.class.data_column_size_limit

lib/generators/active_record/session_migration_generator.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def session_table_name
2121
end
2222

2323
def migration_version
24-
"[#{ActiveRecord::Migration.current_version}]" if ActiveRecord::Migration.respond_to?(:current_version)
24+
"[#{ActiveRecord::Migration.current_version}]"
2525
end
2626
end
2727
end

test/action_controller_test.rb

+7-35
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,11 @@ def set_session_value
1414
end
1515

1616
def get_session_value
17-
if ActiveRecord::VERSION::MAJOR == 4
18-
render :text => "foo: #{session[:foo].inspect}"
19-
else
20-
render :plain => "foo: #{session[:foo].inspect}"
21-
end
17+
render :plain => "foo: #{session[:foo].inspect}"
2218
end
2319

2420
def get_session_id
25-
if ActiveRecord::VERSION::MAJOR == 4
26-
render :text => "#{request.session.id}"
27-
else
28-
render :plain => "#{request.session.id}"
29-
end
21+
render :plain => "#{request.session.id}"
3022
end
3123

3224
def call_reset_session
@@ -60,11 +52,7 @@ def setup
6052
assert_response :success
6153
assert_equal 'foo: "bar"', response.body
6254

63-
if ActiveRecord::VERSION::MAJOR == 4
64-
get '/set_session_value', :foo => "baz"
65-
else
66-
get '/set_session_value', :params => { :foo => "baz" }
67-
end
55+
get '/set_session_value', :params => { :foo => "baz" }
6856
assert_response :success
6957
assert cookies['_session_id']
7058

@@ -104,11 +92,7 @@ def test_getting_nil_session_value
10492

10593
def test_calling_reset_session_twice_does_not_raise_errors
10694
with_test_route_set do
107-
if ActiveRecord::VERSION::MAJOR == 4
108-
get '/call_reset_session', :twice => "true"
109-
else
110-
get '/call_reset_session', :params => { :twice => "true" }
111-
end
95+
get '/call_reset_session', :params => { :twice => "true" }
11296
assert_response :success
11397

11498
get '/get_session_value'
@@ -205,11 +189,7 @@ def test_prevents_session_fixation
205189

206190
reset!
207191

208-
if ActiveRecord::VERSION::MAJOR == 4
209-
get '/get_session_value', :_session_id => session_id
210-
else
211-
get '/get_session_value', :params => { :_session_id => session_id }
212-
end
192+
get '/get_session_value', :params => { :_session_id => session_id }
213193
assert_response :success
214194
assert_equal 'foo: nil', response.body
215195
assert_not_equal session_id, cookies['_session_id']
@@ -230,11 +210,7 @@ def test_allows_session_fixation
230210

231211
reset!
232212

233-
if ActiveRecord::VERSION::MAJOR == 4
234-
get '/set_session_value', :_session_id => session_id, :foo => "baz"
235-
else
236-
get '/set_session_value', :params => { :_session_id => session_id, :foo => "baz" }
237-
end
213+
get '/set_session_value', :params => { :_session_id => session_id, :foo => "baz" }
238214
assert_response :success
239215
assert_equal session_id, cookies['_session_id']
240216

@@ -264,11 +240,7 @@ def test_incoming_invalid_session_id_via_cookie_should_be_ignored
264240
def test_incoming_invalid_session_id_via_parameter_should_be_ignored
265241
with_test_route_set(:cookie_only => false) do
266242
open_session do |sess|
267-
if ActiveRecord::VERSION::MAJOR == 4
268-
sess.get '/set_session_value', :_session_id => 'INVALID'
269-
else
270-
sess.get '/set_session_value', :params => { :_session_id => 'INVALID' }
271-
end
243+
sess.get '/set_session_value', :params => { :_session_id => 'INVALID' }
272244
new_session_id = sess.cookies['_session_id']
273245
assert_not_equal 'INVALID', new_session_id
274246

test/destroy_session_test.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def test_destroy_without_renew
2222
s['set_something_so_it_loads'] = true
2323

2424
session_model = req.env[record_key]
25-
session_model.update_attributes(:data => {'rails' => 'ftw'})
25+
session_model.update(:data => {'rails' => 'ftw'})
2626

2727
s.destroy
2828

@@ -35,7 +35,7 @@ def test_destroy_with_renew
3535
s['set_something_so_it_loads'] = true
3636

3737
session_model = req.env[record_key]
38-
session_model.update_attributes(:data => {'rails' => 'ftw'})
38+
session_model.update(:data => {'rails' => 'ftw'})
3939

4040
s.destroy
4141

test/helper.rb

+1-3
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,4 @@ def call(env)
7676
end
7777
end
7878

79-
if ActiveSupport::TestCase.respond_to?(:test_order=)
80-
ActiveSupport::TestCase.test_order = :random
81-
end
79+
ActiveSupport::TestCase.test_order = :random

test/logger_silencer_test.rb

+1-5
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,7 @@ def set_session_value
1010
end
1111

1212
def get_session_value
13-
if ActiveRecord::VERSION::MAJOR == 4
14-
render :text => "foo: #{session[:foo].inspect}"
15-
else
16-
render :plain => "foo: #{session[:foo].inspect}"
17-
end
13+
render :plain => "foo: #{session[:foo].inspect}"
1814
end
1915
end
2016

0 commit comments

Comments
 (0)