* lib/cgi/session/pstore.rb: fix indentation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
xibbar 2008-11-08 15:03:42 +00:00
Родитель 4b9e885000
Коммит f22aabbaee
2 изменённых файлов: 29 добавлений и 25 удалений

Просмотреть файл

@ -1,3 +1,7 @@
Sun Nov 9 00:02:01 2008 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
* lib/cgi/session/pstore.rb: fix indentation.
Sat Nov 8 23:47:45 2008 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
* lib/cgi/session.rb (FileStore): use marshalized data.

Просмотреть файл

@ -43,55 +43,55 @@ class CGI
# This session's PStore file will be created if it does
# not exist, or opened if it does.
def initialize(session, option={})
dir = option['tmpdir'] || Dir::tmpdir
prefix = option['prefix'] || ''
id = session.session_id
dir = option['tmpdir'] || Dir::tmpdir
prefix = option['prefix'] || ''
id = session.session_id
require 'digest/md5'
md5 = Digest::MD5.hexdigest(id)[0,16]
path = dir+"/"+prefix+md5
path.untaint
if File::exist?(path)
@hash = nil
else
path = dir+"/"+prefix+md5
path.untaint
if File::exist?(path)
@hash = nil
else
unless session.new_session
raise CGI::Session::NoSession, "uninitialized session"
end
@hash = {}
end
@p = ::PStore.new(path)
@p.transaction do |p|
File.chmod(0600, p.path)
end
@hash = {}
end
@p = ::PStore.new(path)
@p.transaction do |p|
File.chmod(0600, p.path)
end
end
# Restore session state from the session's PStore file.
#
# Returns the session state as a hash.
def restore
unless @hash
@p.transaction do
unless @hash
@p.transaction do
@hash = @p['hash'] || {}
end
end
@hash
end
end
@hash
end
# Save session state to the session's PStore file.
def update
@p.transaction do
@p['hash'] = @hash
end
@p.transaction do
@p['hash'] = @hash
end
end
# Update and close the session's PStore file.
def close
update
update
end
# Close and delete the session's PStore file.
def delete
path = @p.path
File::unlink path
path = @p.path
File::unlink path
end
end