class Noodles::MemcachedSession

Public Class Methods

new(env) click to toggle source
# File lib/noodles/memcached_session.rb, line 4
def initialize(env)
  @env = env
end

Public Instance Methods

[](key) click to toggle source
# File lib/noodles/memcached_session.rb, line 13
def [](key)
  _internal_session_storage[key]
end
[]=(key, value) click to toggle source
# File lib/noodles/memcached_session.rb, line 17
def []=(key, value)
  session_data = _internal_session_storage
  session_data[key] = value
  Noodles.cache.set(session_id, session_data)
end
delete(key) click to toggle source
# File lib/noodles/memcached_session.rb, line 23
def delete(key)
  session_data = _internal_session_storage
  session_data.delete(key)
  Noodles.cache.set(session_id, session_data)
end
inspect() click to toggle source
# File lib/noodles/memcached_session.rb, line 29
def inspect
  _internal_session_storage
end
session_id() click to toggle source
# File lib/noodles/memcached_session.rb, line 8
def session_id
  @env['rack.session']['init'] = true unless @env['rack.session'].loaded?
  @env['rack.session']['session_id']
end

Private Instance Methods

_internal_session_storage() click to toggle source
# File lib/noodles/memcached_session.rb, line 35
def _internal_session_storage
  session_data = Noodles.cache.get(session_id)
  if session_data.nil?
    session_data = {}
    Noodles.cache.set(session_id, session_data)
  end
  session_data
end