Class: EvilEvents::Core::Events::Serializers::XML::Factory Private

Inherits:
AbstractFactory
  • Object
show all
Defined in:
lib/evil_events/core/events/serializers/xml/factory.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Since:

  • 0.4.0

Instance Method Summary collapse

Instance Method Details

#build_configXML::Config

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

Since:

  • 0.4.0



12
13
14
15
# File 'lib/evil_events/core/events/serializers/xml/factory.rb', line 12

def build_config
  options = EvilEvents::Core::Bootstrap[:config].settings.serializers.xml
  Config.new.tap { |conf| conf.settings.options = options }
end

#build_engine(config) ⇒ Base::AbstractEngine

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

Returns:

Raises:

Since:

  • 0.4.0



23
24
25
26
27
# File 'lib/evil_events/core/events/serializers/xml/factory.rb', line 23

def build_engine(config)
  Engines.resolve(config.settings.options[:engine]).new(config)
rescue Dry::Container::Error
  raise EvilEvents::UnrecognizedSerializationEngineError
end

#build_packer(engine, _config) ⇒ XML::Packer

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

Returns:

Since:

  • 0.4.0



35
36
37
# File 'lib/evil_events/core/events/serializers/xml/factory.rb', line 35

def build_packer(engine, _config)
  Packer.new(engine)
end

#build_unpacker(engine, _config) ⇒ XML::Unpacker

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

Returns:

Since:

  • 0.4.0



45
46
47
# File 'lib/evil_events/core/events/serializers/xml/factory.rb', line 45

def build_unpacker(engine, _config)
  Unpacker.new(engine)
end

#create_adapter(engine, config, packer, unpacker) ⇒ XML

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

Returns:

Since:

  • 0.4.0



57
58
59
# File 'lib/evil_events/core/events/serializers/xml/factory.rb', line 57

def create_adapter(engine, config, packer, unpacker)
  XML.new(engine, config, packer, unpacker)
end