Class: CGI::Session
Child modules and classes
Class CGI::Session::ActiveRecordStore
Class CGI::Session::CookieStore
Class CGI::Session::DRbStore
Class CGI::Session::MemCacheStore
Class CGI::Session::PStore
Aliases
| Old name | New name |
|---|---|
| initialize | initialize_without_cgi_reader |
Attributes
| Name | Read/write? |
|---|---|
| cgi | R |
| data | R |
| dbman | R |
Public Class Methods
generate_unique_id (constant = 'foobar')
Generate an 32-character unique id based on a hash of the current time, a random number, the process id, and a constant string. This is used to generate session ids but may be reused elsewhere.
# File vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb, line 21 21: def self.generate_unique_id(constant = 'foobar') 22: md5 = Digest::MD5.new 23: now = Time.now 24: md5 << now.to_s 25: md5 << String(now.usec) 26: md5 << String(rand(0)) 27: md5 << String($$) 28: md5 << constant 29: md5.hexdigest 30: end
generate_unique_id (constant = nil)
Generate a 32-character unique id using SecureRandom. This is used to generate session ids but may be reused elsewhere.
# File vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb, line 14 14: def self.generate_unique_id(constant = nil) 15: SecureRandom.hex(16) 16: end
new (cgi, options = {})
# File vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb, line 37 37: def initialize(cgi, options = {}) 38: @cgi = cgi 39: initialize_without_cgi_reader(cgi, options) 40: end
Public Instance Methods
model ()
Return this session‘s underlying Session instance. Useful for the DB-backed session stores.
# File vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb, line 10 10: def model 11: @dbman.model if @dbman 12: end
Private Instance Methods
create_new_id ()
Create a new session id.
# File vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb, line 44 44: def create_new_id 45: @new_session = true 46: self.class.generate_unique_id 47: end