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