aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cgi/session
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-11-27 18:55:42 +0900
committergit <svn-admin@ruby-lang.org>2021-12-15 08:24:41 +0900
commit6eb500e2df17475a557de536ce24a4d878bf1607 (patch)
tree1691b3a92cb167485f324d31e3012278647bcfa5 /lib/cgi/session
parente307627b6cdafd830680ccf52bf8832c80326935 (diff)
downloadruby-6eb500e2df17475a557de536ce24a4d878bf1607.tar.gz
[ruby/cgi] Extract CGI::Session#new_store_file
https://github.com/ruby/cgi/commit/b3e2ff9164
Diffstat (limited to 'lib/cgi/session')
-rw-r--r--lib/cgi/session/pstore.rb16
1 files changed, 2 insertions, 14 deletions
diff --git a/lib/cgi/session/pstore.rb b/lib/cgi/session/pstore.rb
index cc3006400f..45d0d8ae2c 100644
--- a/lib/cgi/session/pstore.rb
+++ b/lib/cgi/session/pstore.rb
@@ -44,20 +44,8 @@ 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
- require 'digest/md5'
- md5 = Digest::MD5.hexdigest(id)[0,16]
- path = dir+"/"+prefix+md5
- if File::exist?(path)
- @hash = nil
- else
- unless session.new_session
- raise CGI::Session::NoSession, "uninitialized session"
- end
- @hash = {}
- end
+ option = {'suffix'=>''}.update(option)
+ path, @hash = session.new_store_file(option)
@p = ::PStore.new(path)
@p.transaction do |p|
File.chmod(0600, p.path)