Class: ActiveRecord::SessionStore::ClassMethods::HybridSerializer
- Inherits:
-
JsonSerializer
- Object
- JsonSerializer
- ActiveRecord::SessionStore::ClassMethods::HybridSerializer
- Defined in:
- lib/active_record/session_store.rb
Overview
Transparently migrates existing session values from Marshal to JSON
Constant Summary collapse
- MARSHAL_SIGNATURE =
'BAh'.freeze
Class Method Summary collapse
Methods inherited from JsonSerializer
Class Method Details
.load(value) ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/active_record/session_store.rb', line 78 def self.load(value) if needs_migration?(value) Marshal.load(::Base64.decode64(value)) else super end end |
.needs_migration?(value) ⇒ Boolean
86 87 88 |
# File 'lib/active_record/session_store.rb', line 86 def self.needs_migration?(value) value.start_with?(MARSHAL_SIGNATURE) end |