Sha256: 54aca5e231ac176e91e73b231d749ca4ba1116483418fffad0d52379d12375d8

Contents?: true

Size: 611 Bytes

Versions: 3

Compression:

Stored size: 611 Bytes

Contents

require 'rack_datamapper/session/abstract/store'
module Ixtlan
  class Session < DataMapper::Session::Abstract::Session

    def data=(data)
      d = {}
      data.each{|k,v| d[k.to_sym] = v}
      @user = d.delete(:user)
      @flash = d.delete(:flash)
      @expires_at = d.delete(:expires_at)
      attribute_set(:data, ::Base64.encode64(Marshal.dump(d)))
    end

    def data
      # user string for flash entry to allow the rails falsh to work properly !
      Marshal.load(::Base64.decode64(attribute_get(:data))).merge({:user => @user, "flash" => @flash, :expires_at => @expires_at})
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ixtlan-0.4.0.pre2 lib/ixtlan/session.rb
ixtlan-0.4.0.pre lib/ixtlan/session.rb
ixtlan-0.3.0 lib/ixtlan/session.rb