Created
December 10, 2010 10:01
-
-
Save dakatsuka/736040 to your computer and use it in GitHub Desktop.
Rails2のMemCacheStoreをRails3で作成したセッションに対応するためのパッチ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module ActionController | |
module Session | |
class MemCacheStore < AbstractStore | |
private | |
def get_session(env, sid) | |
sid ||= generate_sid | |
begin | |
session = @pool.get(sid) || {} | |
rescue MemCache::MemCacheError, Errno::ECONNREFUSED | |
session = {} | |
end | |
session.symbolize_keys! | |
[sid, session] | |
end | |
def set_session(env, sid, session_data) | |
options = env['rack.session.options'] | |
expiry = options[:expire_after] || 0 | |
session_data.stringify_keys! | |
@pool.set(sid, session_data, expiry) | |
return true | |
rescue MemCache::MemCacheError, Errno::ECONNREFUSED | |
return false | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment