class EvilEvents::Core::Events::Serializers::JSON::Factory

@api private @since 0.4.0

Public Instance Methods

build_config() click to toggle source

@return [JSON::Config]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/json/factory.rb, line 12
def build_config
  options = EvilEvents::Core::Bootstrap[:config].settings.serializers.json
  Config.new.tap { |conf| conf.settings.options = options }
end
build_engine(config) click to toggle source

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

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/json/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 [JSON::Config] @return [JSON::Packer]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/json/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 [JSON::Config] @return [JSON::Unpacker]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/json/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 [JSON::Config] @param packer [JSON::Packer] @param unpacker [JSON::Unpacker] @return [JSON]

@api private @since 0.4.0

# File lib/evil_events/core/events/serializers/json/factory.rb, line 57
def create_adapter(engine, config, packer, unpacker)
  JSON.new(engine, config, packer, unpacker)
end