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

@api private @since 0.5.0

Public Instance Methods

dump(serialization_state) click to toggle source

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

@since 0.5.0 @api private

# File lib/evil_events/plugins/oj_engine/oj.rb, line 12
def dump(serialization_state)
  ::Oj.dump(
    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.5.0 @api private

# File lib/evil_events/plugins/oj_engine/oj.rb, line 27
def load(json_string)
  json = ::Oj.load(json_string, symbol_keys: true)

  restore_serialization_state(
    id:       json[:id],
    type:     json[:type],
    payload:  json[:payload],
    metadata: json[:metadata]
  )
rescue ::Oj::Error, NoMethodError, TypeError, ArgumentError
  raise EvilEvents::SerializationEngineError
end