lib/phobos.rb in phobos-2.0.2 vs lib/phobos.rb in phobos-2.1.0
- old
+ new
@@ -53,22 +53,32 @@
attr_reader :config, :logger
attr_accessor :silence_log
def configure(configuration)
@config = fetch_configuration(configuration)
- @config.class.send(:define_method, :producer_hash) { Phobos.config.producer&.to_hash }
- @config.class.send(:define_method, :consumer_hash) { Phobos.config.consumer&.to_hash }
+ @config.class.send(:define_method, :producer_hash) do
+ Phobos.config.producer&.to_hash&.except(:kafka)
+ end
+ @config.class.send(:define_method, :consumer_hash) do
+ Phobos.config.consumer&.to_hash&.except(:kafka)
+ end
@config.listeners ||= []
configure_logger
end
def add_listeners(configuration)
listeners_config = fetch_configuration(configuration)
@config.listeners += listeners_config.listeners
end
- def create_kafka_client
- Kafka.new(**config.kafka.to_hash.merge(logger: @ruby_kafka_logger))
+ def create_kafka_client(config_key = nil)
+ kafka_config = config.kafka.to_hash.merge(logger: @ruby_kafka_logger)
+
+ if config_key
+ kafka_config = kafka_config.merge(**config.send(config_key)&.kafka&.to_hash || {})
+ end
+
+ Kafka.new(**kafka_config)
end
def create_exponential_backoff(backoff_config = nil)
backoff_config ||= Phobos.config.backoff.to_hash
min = backoff_config[:min_ms] / 1000.0