8000 remove more nils · rack/rack@77f3aab · GitHub
[go: up one dir, main page]

Skip to content

Commit 77f3aab

Browse files
committed
remove more nils
1 parent 83d4bd1 commit 77f3aab

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

lib/rack/session/abstract/id.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ module Session
1313

1414
class NullSessionId
1515
def empty?; true; end
16+
def nil?; true; end
1617
end
1718

1819
module Abstract
@@ -47,7 +48,7 @@ def id
4748
else
4849
@id = @store.send(:extract_session_id, @req)
4950
end
50-
@id || NullSessionId.new
51+
@id || raise
5152
end
5253

5354
def options
@@ -93,7 +94,7 @@ def clear
9394

9495
def destroy
9596
clear
96-
@id = @store.send(:delete_session, @req, id, options)
97+
@id = @store.send(:delete_session, @req, id, options) || raise
9798
end
9899

99100
def to_hash
@@ -285,15 +286,15 @@ def prepare_session(req)
285286
def load_session(req)
286287
sid = current_session_id(req)
287288
sid, session = find_session(req, sid)
288-
[sid, session || {}]
289+
[sid || NullSessionId.new, session || {}]
289290
end
290291

291292
# Extract session id from request object.
292293

293294
def extract_session_id(request)
294295
sid = request.cookies[@key]
295296
sid ||= request.params[@key] unless @cookie_only
296-
sid
297+
sid || NullSessionId.new
297298
end
298299

299300
# Returns the current session id from the SessionHash.
@@ -349,7 +350,7 @@ def commit_session(req, res)
349350

350351
if options[:drop] || options[:renew]
351352
session_id = delete_session(req, session.id || generate_sid, options)
352-
return unless session_id
353+
return if session_id.nil?
353354
end
354355

355356
return unless commit_session?(req, session, options)

lib/rack/session/cookie.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,11 @@ def write_session(req, session_id, session, options)
171171

172172
def delete_session(req, session_id, options)
173173
# Nothing to do here, data is in the client
174-
generate_sid unless options[:drop]
174+
if options[:drop]
175+
NullSessionId.new
176+
else
177+
generate_sid
178+
end
175179
end
176180

177181
def digest_match?(data, digest)

lib/rack/session/pool.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ def write_session(req, session_id, new_session, options)
6161
def delete_session(req, session_id, options)
6262
with_lock(req) do
6363
@pool.delete(session_id)
64-
generate_sid unless options[:drop]
64+
if options[:drop]
65+
NullSessionId.new
66+
else
67+
generate_sid
68+
end
6569
end
6670
end
6771

0 commit comments

Comments
 (0)
0