Spec-Zone.ru › Ruby on Rails 4.2

класс ActionDispatch::Session::CacheStore

Родитель:
ActionDispatch::Session::AbstractStore

Сессия хранилище, использующее ActiveSupport::Cache::Store для хранения сессий. Это хранилище наиболее полезно, если вы не храните критичные данные в сессиях и вам не нужно, чтобы они хранились длительное время.

Публичные методы класса

new(app, options = {}) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 11
def initialize(app, options = {})
  @cache = options[:cache] || Rails.cache
  options[:expire_after] ||= @cache.options[:expires_in]
  super
end

Создать новое хранилище. Хранилище кэша можно передать в :cache параметр. Если не указано, будет использоваться Rails.cache.

Вызов метода суперкласса ActionDispatch::Session::Compatibility.new

Публичные методы экземпляра

destroy_session(env, sid, options) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 37
def destroy_session(env, sid, options)
  @cache.delete(cache_key(sid))
  generate_sid
end

Удалить сессию из кэша.

get_session(env, sid) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 18
def get_session(env, sid)
  unless sid and session = @cache.read(cache_key(sid))
    sid, session = generate_sid, {}
  end
  [sid, session]
end

Получить сессию из кэша.

set_session(env, sid, session, options) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 26
def set_session(env, sid, session, options)
  key = cache_key(sid)
  if session
    @cache.write(key, session, :expires_in => options[:expire_after])
  else
    @cache.delete(key)
  end
  sid
end

Установить сессию в кэше.

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API