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