Class: ActionController::Session::CookieStore

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_4_session_flash_backport/rails2/session_with_indifferent_access.rb

Instance Method Summary collapse

Instance Method Details

#extract_session_id(env) ⇒ Object



48
49
50
51
52
53
54
55
# File 'lib/rails_4_session_flash_backport/rails2/session_with_indifferent_access.rb', line 48

def extract_session_id(env)
  if data = unpacked_cookie_data(env)
    persistent_session_id!(data) unless data.empty?
    data["session_id"] || data[:session_id]
  else
    nil
  end
end

#inject_persistent_session_id(data) ⇒ Object



57
58
59
# File 'lib/rails_4_session_flash_backport/rails2/session_with_indifferent_access.rb', line 57

def inject_persistent_session_id(data)
  requires_session_id?(data) ? { "session_id" => generate_sid } : {}
end

#load_session(env) ⇒ Object



42
43
44
45
46
# File 'lib/rails_4_session_flash_backport/rails2/session_with_indifferent_access.rb', line 42

def load_session(env)
  data = unpacked_cookie_data(env)
  data = persistent_session_id!(data)
  [data["session_id"] || data[:session_id], data]
end

#requires_session_id?(data) ⇒ Boolean

Returns:

  • (Boolean)


61
62
63
64
65
66
67
# File 'lib/rails_4_session_flash_backport/rails2/session_with_indifferent_access.rb', line 61

def requires_session_id?(data)
  if data
    data.respond_to?(:key?) && !(data.key?("session_id") || data.key?(:session_id))
  else
    true
  end
end