class EvilEvents::Core::Events::Serializers::JSON::Engines::Native

@api private @since 0.4.0

Public Instance Methods

dump(serialization_state) click to toggle source

@param serialization_state [Base::EventSerializationState] @return [String]

@since 0.4.0 @api private

# File lib/evil_events/core/events/serializers/json/engines/native.rb, line 12
def dump(serialization_state)
  ::JSON.generate(
    id:       serialization_state.id,
    type:     serialization_state.type,
    payload:  serialization_state.payload,
    metadata: serialization_state.metadata
  )
end
load(json_string) click to toggle source

@param json_string [String] @raise [EvilEvents::SerializationEngineError] @return [EventSerializationState]

@since 0.4.0 @api private

# File lib/evil_events/core/events/serializers/json/engines/native.rb, line 27
def load(json_string)
  json = ::JSON.parse(json_string, symbolize_names: true)

  restore_serialization_state(
    id:       json[:id],
    type:     json[:type],
    payload:  json[:payload],
    metadata: json[:metadata]
  )
rescue ::JSON::ParserError, TypeError
  raise EvilEvents::SerializationEngineError
end