class EvilEvents::Core::System::EventBuilder

@api private @since 0.1.0

Attributes

serializers_container[R]

@return [EvilEvents::Core::Events::Serializers]

@api private @since 0.4.0

Public Class Methods

new() click to toggle source

@api private @since 0.4.0

# File lib/evil_events/core/system/event_builder.rb, line 15
def initialize
  @serializers_container = EvilEvents::Core::Events::Serializers.new

  @serializers_container.register_core_serializers!
end

Public Instance Methods

define_abstract_event_class(event_type) click to toggle source

@param event_type [String] @return [Class{EvilEvents::Core::Events::AbstractEvent}]

@since 0.1.0

# File lib/evil_events/core/system/event_builder.rb, line 34
def define_abstract_event_class(event_type)
  EvilEvents::Core::Events::EventFactory.create_abstract_class(event_type)
end
define_event_class(event_type, &event_class_definitions) click to toggle source

@param event_type [String] @param event_class_definitions [Proc] @return [Class{EvilEvents::Core::Events::AbstractEvent}]

@since 0.1.0

# File lib/evil_events/core/system/event_builder.rb, line 26
def define_event_class(event_type, &event_class_definitions)
  EvilEvents::Core::Events::EventFactory.create_class(event_type, &event_class_definitions)
end
deserialize_from_hash(serialized_event) click to toggle source

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

@since 0.1.0

# File lib/evil_events/core/system/event_builder.rb, line 86
def deserialize_from_hash(serialized_event)
  serializers_container.resolve(:hash).deserialize(serialized_event)
end
deserialize_from_json(serialized_event) click to toggle source

@param serialized_event [String] @return [EvilEvents::Core::Events::AbstractEvent]

@since 0.1.0

# File lib/evil_events/core/system/event_builder.rb, line 78
def deserialize_from_json(serialized_event)
  serializers_container.resolve(:json).deserialize(serialized_event)
end
deserialize_from_msgpack(serialized_event) click to toggle source

@param serialized_event [String] @return [EvilEvents::Core::Events::AbstractEvent]

@since 0.4.0

# File lib/evil_events/core/system/event_builder.rb, line 102
def deserialize_from_msgpack(serialized_event)
  serializers_container.resolve(:msgpack).deserialize(serialized_event)
end
deserialize_from_xml(serialized_event) click to toggle source

@param serialized_event [String] @return [EvilEvents::Core::Events::AbstractEvent]

@since 0.4.0

# File lib/evil_events/core/system/event_builder.rb, line 94
def deserialize_from_xml(serialized_event)
  serializers_container.resolve(:xml).deserialize(serialized_event)
end
serialize_to_hash(event) click to toggle source

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

@api private @since 0.4.0

# File lib/evil_events/core/system/event_builder.rb, line 43
def serialize_to_hash(event)
  serializers_container.resolve(:hash).serialize(event)
end
serialize_to_json(event) click to toggle source

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

@api private @since 0.4.0

# File lib/evil_events/core/system/event_builder.rb, line 52
def serialize_to_json(event)
  serializers_container.resolve(:json).serialize(event)
end
serialize_to_msgpack(event) click to toggle source

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

@api private @since 0.4.0

# File lib/evil_events/core/system/event_builder.rb, line 70
def serialize_to_msgpack(event)
  serializers_container.resolve(:msgpack).serialize(event)
end
serialize_to_xml(event) click to toggle source

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

@api private @since 0.4.0

# File lib/evil_events/core/system/event_builder.rb, line 61
def serialize_to_xml(event)
  serializers_container.resolve(:xml).serialize(event)
end