Sha256: f3873f51e06924125067854109bffcc6964d07a5cb3cc5bbb0838d151d6d4b60

Contents?: true

Size: 733 Bytes

Versions: 7

Compression:

Stored size: 733 Bytes

Contents

class Knjappserver::Session < Knj::Datarow
	attr_reader :edata
	attr_accessor :sess_data
	
	def initialize(*args, &block)
		@edata = {}
		super(*args, &block)
		
		if self[:sess_data].to_s.length > 0
			begin
				@sess_data = Marshal.load(Base64.decode64(self[:sess_data]))
			rescue ArgumentError
				@sess_data = {}
			end
		else
			@sess_data = {}
		end
	end
	
	def self.add(d)
		d.data[:date_added] = Time.now if !d.data[:date_added]
		d.data[:date_lastused] = Time.now if !d.data[:date_lastused]
	end
	
	def flush
    flush_data = Base64.encode64(Marshal.dump(@sess_data))
    
    if self[:sess_data] != flush_data
      self.update(
        :sess_data => flush_data,
        :date_lastused => Time.now
      )
    end
	end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
knjappserver-0.0.30 lib/include/class_session.rb
knjappserver-0.0.29 lib/include/class_session.rb
knjappserver-0.0.28 lib/include/class_session.rb
knjappserver-0.0.26 lib/include/class_session.rb
knjappserver-0.0.25 lib/include/class_session.rb
knjappserver-0.0.24 lib/include/class_session.rb
knjappserver-0.0.23 lib/include/class_session.rb