Class: Karafka::Setup::Configurators::WaterDrop
- Inherits:
-
Object
- Object
- Karafka::Setup::Configurators::WaterDrop
- Defined in:
- lib/karafka/setup/configurators/water_drop.rb
Overview
Class responsible for setting up WaterDrop configuration
Instance Method Summary collapse
-
#call(config) ⇒ Object
Sets up a WaterDrop settings.
Instance Method Details
#call(config) ⇒ Object
Note:
This will also inject Karafka monitor as a default monitor into WaterDrop, so we have the same monitor within whole Karafka framework (same with logger)
Sets up a WaterDrop settings
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/karafka/setup/configurators/water_drop.rb', line 14 def call(config) ::WaterDrop.setup do |water_config| water_config.deliver = true config.to_h.reject { |k, _v| k == :kafka }.each do |k, v| key_assignment = :"#{k}=" next unless water_config.respond_to?(key_assignment) water_config.public_send(key_assignment, v) end config.kafka.to_h.each do |k, v| key_assignment = :"#{k}=" next unless water_config.kafka.respond_to?(key_assignment) water_config.kafka.public_send(key_assignment, v) end end end |