class ActionDispatch::Session::MongoStore::Session
Attributes
_id[RW]
created_at[RW]
data[RW]
updated_at[RW]
Public Class Methods
collection()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 67 def self.collection @collection ||= database[MongoSessionStore.collection_name] end
database()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 55 def self.database if @database @database else raise "MongoStore needs a database, e.g. MongoStore::Session.database = Mongo::Client.new(['127.0.0.1:27017'], database: \"my_app_development\")" end end
database=(database)
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 63 def self.database=(database) @database = database end
last()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 51 def self.last where.last end
load(options = {})
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 17 def self.load(options = {}) options[:data] = options["data"] if options["data"] new(options) end
new(options = {})
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 10 def initialize(options = {}) @_id = options[:_id] @data = options[:data] || BSON::Binary.new(Marshal.dump({}), :generic) @created_at = options[:created_at] @updated_at = options[:updated_at] end
reset_collection()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 71 def self.reset_collection @collection = nil end
where(query = {})
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 47 def self.where(query = {}) collection.find(query).map { |doc| load(doc) } end
Public Instance Methods
collection()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 75 def collection self.class.collection end
data=(stuff)
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 43 def data=(stuff) @data = stuff.to_s end
destroy()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 26 def destroy scope.delete_one end
save()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 30 def save @created_at ||= Time.now @updated_at = Time.now attributes = { :data => BSON::Binary.new(@data, :generic), :created_at => @created_at, :updated_at => @updated_at } scope.replace_one(attributes, upsert: true) end
scope()
click to toggle source
# File lib/mongo_session_store/mongo_store.rb, line 22 def scope collection.find(:_id => _id) end