Sha256: 0986f40107a3456a927f10815e4445d2d9f6e8c9ea0f4ccd4999b52d12debd19

Contents?: true

Size: 709 Bytes

Versions: 6

Compression:

Stored size: 709 Bytes

Contents

class Knjappserver::Session < Knj::Datarow
	attr_reader :edata
	attr_accessor :sess_data
	
	def initialize(d)
		@edata = {}
		super(d)
		
		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

6 entries across 6 versions & 1 rubygems

Version Path
knjappserver-0.0.22 lib/include/class_session.rb
knjappserver-0.0.21 lib/include/class_session.rb
knjappserver-0.0.20 lib/include/class_session.rb
knjappserver-0.0.19 lib/include/class_session.rb
knjappserver-0.0.18 lib/include/class_session.rb
knjappserver-0.0.17 lib/include/class_session.rb