Sha256: e3c8c6f7f250b4420970a368b9f3a15831d7f3852ec6a24d0863ca6f0c604230

Contents?: true

Size: 1.1 KB

Versions: 11

Compression:

Stored size: 1.1 KB

Contents

require 'securerandom'

$:.unshift File.dirname(__FILE__)

module MongoSessionStore
  autoload :VERSION, 'mongo_session_store/version'

  def self.collection_name=(name)
    @collection_name = name
    
    if defined?(MongoStore::Session)
      MongoStore::Session.reset_collection
    end

    if defined?(MongoMapperStore::Session)
      MongoMapperStore::Session.set_collection_name(name)
    end

    if defined?(MongoidStore::Session)
      MongoidStore::Session.store_in :collection => MongoSessionStore.collection_name
    end

    @collection_name
  end

  def self.collection_name
    @collection_name 
  end
  
  # default collection name for all the stores
  self.collection_name = "sessions"
end

# we don't use autoloading because of thread concerns
# hence, this mess
load_errors = []

%w(mongo_mapper_store mongoid_store mongo_store).each do |store_name|
  begin
    require "mongo_session_store/#{store_name}"
  rescue LoadError => e
    load_errors << e
  end
end

if load_errors.count == 3
  message = "Could not load any session store!\n" + load_errors.map(&:message).join("\n")
  raise LoadError, message
end

Version data entries

11 entries across 11 versions & 4 rubygems

Version Path
mongo_session_store-rails5-7.0.0.1 lib/mongo_session_store.rb
mongo_session_store-rails5-7.0.0 lib/mongo_session_store.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mongo_session_store-rails4-6.0.0/lib/mongo_session_store.rb
mongo_session_store-rails3-6.0.0 lib/mongo_session_store.rb
mongo_session_store-rails4-6.0.0 lib/mongo_session_store.rb
mongo_session_store-rails3-5.1.0 lib/mongo_session_store.rb
mongo_session_store-rails4-5.1.0 lib/mongo_session_store.rb
mongo_session_store-rails3-5.0.1 lib/mongo_session_store.rb
mongo_session_store-rails4-5.0.1 lib/mongo_session_store.rb
mongo_session_store-rails3-5.0.0 lib/mongo_session_store.rb
mongo_session_store-rails4-5.0.0 lib/mongo_session_store.rb