class WaterDrop::Producer::Builder
Class used to construct the rdkafka producer client
Public Instance Methods
call(producer, config)
click to toggle source
@param producer [Producer] not yet configured producer for which we want to
build the client
@param config [Object] dry-configurable based configuration object @return [Rdkafka::Producer, Producer::DummyClient] raw rdkafka producer or a dummy producer
when we don't want to dispatch any messages
# File lib/waterdrop/producer/builder.rb, line 12 def call(producer, config) klass = config.client_class # This allows us to have backwards compatibility. # If it is the default client and delivery is set to false, we use dummy as we used to # before `client_class` was introduced klass = Clients::Dummy if klass == Clients::Rdkafka && !config.deliver klass.new(producer) end