module TrickSerial::Serializer::CgiSession::FileStoreSerializer

FileStore can only handle String => String data. Use Marshal and Base64 to further encode it.

Constants

PHONY_KEY

Public Class Methods

included(target) click to toggle source
# File lib/trick_serial/serializer/cgi_session.rb, line 196
def self.included target
  super
  require 'base64'
end

Public Instance Methods

_data() click to toggle source
# File lib/trick_serial/serializer/cgi_session.rb, line 201
def _data; @hash; end
_data=(x;) click to toggle source
# File lib/trick_serial/serializer/cgi_session.rb, line 202
def _data= x; @hash = x; end
decode_with_trick_serial_serializer!() click to toggle source
# File lib/trick_serial/serializer/cgi_session.rb, line 211
def decode_with_trick_serial_serializer!
  # $stderr.puts "#{self} decode <= @hash=#{@hash.inspect}"
  @hash &&= (v = @hash[PHONY_KEY]) ? Marshal.load(::Base64.decode64(v)) : { }
  # $stderr.puts "#{self} decode => @hash=#{@hash.inspect}"
end
encode_with_trick_serial_serializer!() click to toggle source
# File lib/trick_serial/serializer/cgi_session.rb, line 206
def encode_with_trick_serial_serializer!
  # $stderr.puts "#{self} encode <= @hash=#{@hash.inspect}"
  @hash &&= { PHONY_KEY => ::Base64.encode64(Marshal.dump(@hash)).chomp! }
  # $stderr.puts "#{self} encode => @hash=#{@hash.inspect}"
end