Update of /cvsroot/ruby-session/ruby-session/src
In directory usw-pr-cvs1:/tmp/cvs-serv10525
Modified Files:
session.rb
Log Message:
*) Framework for sessions should be mostly done at this point
Index: session.rb
===================================================================
RCS file: /cvsroot/ruby-session/ruby-session/src/session.rb,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- session.rb 13 Jun 2002 12:28:25 -0000 1.1
+++ session.rb 20 Jun 2002 00:50:44 -0000 1.2
@@ -8,9 +8,11 @@
class Session
@@commit = []
+ @@data = nil
@@init = []
@@load = []
+ attr_reader(:active, :data, :expiration_time, :last_updated, :last_session_id, :rekey_time, :start_date, :last_session_id, :old_session_id, :secure, :session_data)
public
@@ -35,10 +37,14 @@
def commit(*args)
@session_id = Session.generate() if @session_id.nil?
+ @@data = Marshal.dump(self)
+
for commit_meth in @@commit
m = self.method(commit_meth)
m.call(*args)
end # for commit_meth
+
+ @@data = nil
end # def commit()
@@ -49,6 +55,23 @@
m = self.method(load_meth)
m.call(*args)
end # for load_meth
+
+ if @@data.nil?
+ return(false)
+ else
+ obj = Marshal.load(@@data) if !@@data.nil?
+ @active = obj.active
+ @data = obj.data
+ @expiration_time = obj.expiration_time
+ @last_updated = obj.last_updated
+ @old_session_id = obj.old_session_id
+ @rekey_time = obj.rekey_time
+ @start_date = obj.start_date
+ @secure = obj.secure
+ @session_id = obj.session_id
+ @session_data = obj.session_data
+ return(true)
+ end
end # def load()
@@ -77,7 +100,8 @@
raise "SessionID already set" if !@session_id.nil?
return(@session_id = session_id)
- end
+ end # def session_id=()
+
private
@@ -90,6 +114,6 @@
for init_meth in @@init
m = self.method(init_meth)
m.call(*args)
- end # for commit_meth
+ end # for init_meth in @@init
end # def initialize
end # class Session
|