class EvilEvents::Core::Events::Serializers::Base::DataTransformer

@api private @since 0.4.0

Attributes

engine[R]

@return [Base::Engine::Abstract]

@api private @since 0.4.0

Public Class Methods

new(engine) click to toggle source

@param engine [Base::Engine::Abstract]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/base/data_transformer.rb, line 11
def initialize(engine)
  @engine = engine
end

Public Instance Methods

call(event) click to toggle source

@param event [EvilEvents::Core::Events::AbstractEvent] @return [Object]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/base/data_transformer.rb, line 20
def call(event); end

Private Instance Methods

build_serialization_state(event) click to toggle source

@param event [EvilEvents::Core::Events::AbstractEvent] @return [EventSerializationState]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/base/data_transformer.rb, line 35
def build_serialization_state(event)
  EventSerializationState.build_from_event(event)
end
restore_event_instance(serialization_state) click to toggle source

@param serialization_state [EventSerializationState] @return [EvilEvents::Core::Events::AbstractEvent]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/base/data_transformer.rb, line 44
def restore_event_instance(serialization_state)
  event_class = EvilEvents::Core::Bootstrap[:event_system].resolve_event_class(
    serialization_state.type
  )

  EvilEvents::Core::Events::EventFactory.restore_instance(
    event_class,
    id: serialization_state.id,
    payload: serialization_state.payload,
    metadata: serialization_state.metadata
  )
end