The default Active Record class.
Methods
Attributes
| [W] | data |
Public Class methods
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 74
74: def create_table!
75: connection.execute "CREATE TABLE \#{table_name} (\nid INTEGER PRIMARY KEY,\n\#{connection.quote_column_name('session_id')} TEXT UNIQUE,\n\#{connection.quote_column_name(@@data_column_name)} TEXT(255)\n)\n"
76: end
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 56
56: def data_column_size_limit
57: @data_column_size_limit ||= columns_hash[@@data_column_name].limit
58: end
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 85
85: def drop_table!
86: connection.execute "DROP TABLE #{table_name}"
87: end
Hook to set up sessid compatibility.
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 61
61: def find_by_session_id(session_id)
62: setup_sessid_compatibility!
63: find_by_session_id(session_id)
64: end
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 66
66: def marshal(data)
67: ActiveSupport::Base64.encode64(Marshal.dump(data)) if data
68: end
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 70
70: def unmarshal(data)
71: Marshal.load(ActiveSupport::Base64.decode64(data)) if data
72: end
Public Instance methods
Lazy-unmarshal session state.
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 110
110: def data
111: @data ||= self.class.unmarshal(read_attribute(@@data_column_name)) || {}
112: end
Has the session been loaded yet?
[ show source ]
# File activerecord/lib/active_record/session_store.rb, line 117
117: def loaded?
118: !!@data
119: end