class EvilEvents::Core::System::EventBuilder
@api private @since 0.1.0
Attributes
@return [EvilEvents::Core::Events::Serializers]
@api private @since 0.4.0
Public Class Methods
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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
@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