[Ruby-session-devel-cvs] CVS: ruby-session/src session.rb,1.1,1.2
Status: Alpha
Brought to you by:
thetitan
From: Sean C. <the...@us...> - 2002-06-20 00:50:47
|
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 |