@@ -55,7 +55,7 @@ module Session
5555 class ActiveRecordStore < ActionDispatch ::Session ::AbstractSecureStore
5656 # The class used for session storage. Defaults to
5757 # ActiveRecord::SessionStore::Session
58- cattr_accessor :session_class
58+ class_attribute :session_class
5959
6060 SESSION_RECORD_KEY = 'rack.session.record'
6161 ENV_SESSION_OPTIONS_KEY = Rack ::RACK_SESSION_OPTIONS
@@ -67,7 +67,7 @@ def get_session(request, sid)
6767 # If the sid was nil or if there is no pre-existing session under the sid,
6868 # force the generation of a new sid and associate a new session associated with the new sid
6969 sid = generate_sid
70- session = @@ session_class. new ( :session_id => sid . private_id , :data => { } )
70+ session = session_class . new ( :session_id => sid . private_id , :data => { } )
7171 end
7272 request . env [ SESSION_RECORD_KEY ] = session
7373 [ sid , session . data ]
@@ -106,7 +106,7 @@ def delete_session(request, session_id, options)
106106 new_sid = generate_sid
107107
108108 if options [ :renew ]
109- new_model = @@ session_class. new ( :session_id => new_sid . private_id , :data => data )
109+ new_model = session_class . new ( :session_id => new_sid . private_id , :data => data )
110110 new_model . save
111111 request . env [ SESSION_RECORD_KEY ] = new_model
112112 end
@@ -120,7 +120,7 @@ def get_session_model(request, id)
120120 model = get_session_with_fallback ( id )
121121 unless model
122122 id = generate_sid
123- model = @@ session_class. new ( :session_id => id . private_id , :data => { } )
123+ model = session_class . new ( :session_id => id . private_id , :data => { } )
124124 model . save
125125 end
126126 if request . env [ ENV_SESSION_OPTIONS_KEY ] [ :id ] . nil?
@@ -134,9 +134,9 @@ def get_session_model(request, id)
134134
135135 def get_session_with_fallback ( sid )
136136 if sid && !self . class . private_session_id? ( sid . public_id )
137- if ( secure_session = @@ session_class. find_by_session_id ( sid . private_id ) )
137+ if ( secure_session = session_class . find_by_session_id ( sid . private_id ) )
138138 secure_session
139- elsif ( insecure_session = @@ session_class. find_by_session_id ( sid . public_id ) )
139+ elsif ( insecure_session = session_class . find_by_session_id ( sid . public_id ) )
140140 insecure_session . session_id = sid . private_id # this causes the session to be secured
141141 insecure_session
142142 end
0 commit comments