Sha256: 788a8a97ab4c75748fd895acb049d822ed2646904dc98cbcc77706ef2ce714ff
Contents?: true
Size: 998 Bytes
Versions: 1
Compression:
Stored size: 998 Bytes
Contents
require "mongo_session_store/mongo_store_base" module ActionDispatch module Session class MongoidStore < MongoStoreBase class Session include Mongoid::Document include Mongoid::Timestamps attr_writer :data store_in :collection => MongoSessionStore.collection_name field :_data, :type => BSON::Binary, :default => -> { pack({}) } def self.pack(data) BSON::Binary.new(Marshal.dump(data), :generic) end def data @data ||= unpack(_data) end private before_save do self._data = pack(data) end def pack(data) self.class.pack(data) end def unpack(packed) return unless packed if packed.respond_to? :data Marshal.load(packed.data) else Marshal.load(packed.to_s) end end end end end end MongoidStore = ActionDispatch::Session::MongoidStore
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongo_session_store-rails-7.0.0 | lib/mongo_session_store/mongoid_store.rb |