class EvilEvents::Core::Events::Serializers::Hash::Unpacker

@api private @since 0.4.0

Public Instance Methods

call(serialized_event) click to toggle source

@param serialized_event [::Hash] @raise [EvilEvents::HashDeserializationError] @return [EvilEvents::Core::Events::AbstractEvent]

@see Base::DataTransformer

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/hash/unpacker.rb, line 16
def call(serialized_event)
  raise EvilEvents::HashDeserializationError unless serialized_event.is_a?(::Hash)
  serialization_state = engine.load(serialized_event)
  raise EvilEvents::HashDeserializationError unless serialization_state.valid?
  restore_event_instance(serialization_state)
end