class Synapse::Serialization::MessageSerializer

Serializer that provides convenience methods for serializing messages and adds support for optimizing the serialization process

Public Class Methods

new(serializer) click to toggle source

@param [Serializer] serializer @return [undefined]

# File lib/synapse/serialization/message/serializer.rb, line 10
def initialize(serializer)
  @serializer = serializer
end

Public Instance Methods

serialize_metadata(message, expected_type) click to toggle source

Returns the serialized metadata for the given message in the expected type, optimizing the serialization, if possible

@param [Message] message @param [Class] expected_type @return [SerializedObject]

# File lib/synapse/serialization/message/serializer.rb, line 20
def serialize_metadata(message, expected_type)
  if message.is_a? SerializationAware
    message.serialize_metadata @serializer, expected_type
  else
    serialize message.metadata, expected_type
  end
end
serialize_payload(message, expected_type) click to toggle source

Returns the serialized payload for the given message in the expected type, optimizing the serialization, if possible

@param [Message] message @param [Class] expected_type @return [SerializedObject]

# File lib/synapse/serialization/message/serializer.rb, line 34
def serialize_payload(message, expected_type)
  if message.is_a? SerializationAware
    message.serialize_payload @serializer, expected_type
  else
    serialize message.payload, expected_type
  end
end