class EvilEvents::Core::Events::Serializers::XML::Factory

@api private @since 0.4.0

Public Instance Methods

build_config() click to toggle source

@return [XML::Config]

@api private @since 0.4.0

# 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) click to toggle source

@param config [XML::Config] @raise [EvilEvents::UnrecognizedSerializationEngineError] @return [Base::AbstractEngine]

@api private @since 0.4.0

# 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) click to toggle source

@param engine [Base::AbstractEngine] @param config [XML::Config] @return [XML::Packer]

@api private @since 0.4.0

# 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) click to toggle source

@param engine [Base::AbstractEngine] @param config [XML::Config] @return [XML::Unpacker]

@api private @since 0.4.0

# 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) click to toggle source

@param engine [Base::AbstractEngine] @param config [XML::Config] @param packer [XML::Packer] @param unpacker [XML::Unpacker] @return [XML]

@api private @since 0.4.0

# 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