From dc2352c58f0f05d9df171538483f31d42e9f0668 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 2 May 2012 15:33:20 -0700 Subject: [PATCH] initialize instance variables --- .../middleware/session/abstract_store.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb index 48f1006e5e2e6..3710667238af0 100644 --- a/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb +++ b/actionpack/lib/action_dispatch/middleware/session/abstract_store.rb @@ -124,6 +124,7 @@ def initialize(by, env) @env = env @delegate = {} @loaded = false + @exists = nil # we haven't checked yet end def destroy @@ -181,7 +182,7 @@ def inspect end def exists? - return @exists if instance_variable_defined?(:@exists) + return @exists unless @exists.nil? @exists = @by.send(:session_exists?, @env) end @@ -205,18 +206,16 @@ def load_for_write! end def load! - id, session = @by.send(:load_session, @env) + id, session = @by.load_session @env @env[ENV_SESSION_OPTIONS_KEY][:id] = id @delegate.replace(stringify_keys(session)) @loaded = true end def stringify_keys(other) - hash = {} - other.each do |key, value| + other.each_with_object({}) { |(key, value), hash| hash[key.to_s] = value - end - hash + } end end end