Class: Utopia::Session::Serialization
- Inherits:
-
Object
- Object
- Utopia::Session::Serialization
- Defined in:
- lib/utopia/session/serialization.rb
Overview
Encodes and decodes session values using MessagePack.
Instance Attribute Summary collapse
-
#factory ⇒ Object
readonly
Returns the value of attribute factory.
Instance Method Summary collapse
-
#dump(object) ⇒ Object
Encode a session value using MessagePack.
-
#initialize ⇒ Serialization
constructor
Initialize a MessagePack factory with session-specific scalar types.
-
#load(data) ⇒ Object
Decode a MessagePack session value.
Constructor Details
#initialize ⇒ Serialization
Initialize a MessagePack factory with session-specific scalar types.
16 17 18 19 20 21 22 23 24 |
# File 'lib/utopia/session/serialization.rb', line 16 def initialize @factory = MessagePack::Factory.new @factory.register_type(0x00, Symbol, packer: :to_msgpack_ext, unpacker: :from_msgpack_ext) @factory.register_type(0x01, Time, packer: :iso8601, unpacker: :parse) @factory.register_type(0x02, Date, packer: :iso8601, unpacker: :parse) @factory.register_type(0x03, DateTime, packer: :iso8601, unpacker: :parse) end |
Instance Attribute Details
#factory ⇒ Object (readonly)
Returns the value of attribute factory.
26 27 28 |
# File 'lib/utopia/session/serialization.rb', line 26 def factory @factory end |
Instance Method Details
#dump(object) ⇒ Object
Encode a session value using MessagePack.
38 39 40 |
# File 'lib/utopia/session/serialization.rb', line 38 def dump(object) @factory.pack(object) end |
#load(data) ⇒ Object
Decode a MessagePack session value.
31 32 33 |
# File 'lib/utopia/session/serialization.rb', line 31 def load(data) @factory.unpack(data) end |