Class: PHPSession::Encoder::StructSerializer

Inherits:
Serializer
  • Object
show all
Defined in:
lib/php_session/encoder.rb

Instance Method Summary collapse

Methods inherited from Serializer

#initialize

Constructor Details

This class inherits a constructor from PHPSession::Encoder::Serializer

Instance Method Details

#serialize(value) ⇒ Object



100
101
102
103
104
105
106
107
# File 'lib/php_session/encoder.rb', line 100

def serialize(value)
  key_values = value.members.zip(value.values)
  serialized_key_values = key_values.map do |kv|
    kv.map {|el| @encoder.serialize(el)}
  end
  class_name = value.class.to_s.gsub(/^Struct::/,'')
  %|o:#{class_name.bytesize}:"#{class_name}":#{key_values.size}:{#{serialized_key_values.flatten.join}}|
end