aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/request
diff options
context:
space:
mode:
authorcodeforkjeff <jeff@codefork.com>2017-04-26 18:48:41 -0400
committercodeforkjeff <jeff@codefork.com>2017-04-26 18:48:41 -0400
commit3498aacbbebb41e529b6755f4ccfdfbb84c28830 (patch)
tree5b5b4a77fc05a5d30ac401ca3eaa77d1cbb908ca /actionpack/lib/action_dispatch/request
parenteac6f3690fd245b9d72aadcfa365ed16c4ef8b96 (diff)
downloadrails-3498aacbbebb41e529b6755f4ccfdfbb84c28830.tar.gz
rails-3498aacbbebb41e529b6755f4ccfdfbb84c28830.tar.bz2
rails-3498aacbbebb41e529b6755f4ccfdfbb84c28830.zip
Add lazy loading to #keys and #values methods in Session
This fixes a bug where session.keys and session.values return an empty array unless one of the other methods that does lazy loading from the underlying store is called first. #keys and #values should also call #load_for_read!
Diffstat (limited to 'actionpack/lib/action_dispatch/request')
-rw-r--r--actionpack/lib/action_dispatch/request/session.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/request/session.rb b/actionpack/lib/action_dispatch/request/session.rb
index 74ba6466cf..3547a8604f 100644
--- a/actionpack/lib/action_dispatch/request/session.rb
+++ b/actionpack/lib/action_dispatch/request/session.rb
@@ -101,11 +101,13 @@ module ActionDispatch
# Returns keys of the session as Array.
def keys
+ load_for_read!
@delegate.keys
end
# Returns values of the session as Array.
def values
+ load_for_read!
@delegate.values
end