Sha256: 07c04eef8575937080ee5aa7ea1d57328d5ee76eb30d4bac72d11854e5880471

Contents?: true

Size: 619 Bytes

Versions: 2

Compression:

Stored size: 619 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(:raw_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(:raw_data))).merge({:user => @user, "flash" => @flash, :expires_at => @expires_at})
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ixtlan-0.4.0.pre4 lib/ixtlan/session.rb
ixtlan-0.4.0.pre3 lib/ixtlan/session.rb