Sha256: 85fe7b261765b600e7a77cb3c41893d870dcd167e2a121589fd10b51607cd7b8

Contents?: true

Size: 877 Bytes

Versions: 5

Compression:

Stored size: 877 Bytes

Contents

# frozen_string_literal: true

module Karafka
  module Setup
    class Configurators
      # Class responsible for setting up WaterDrop configuration
      class WaterDrop < Base
        # Sets up a WaterDrop settings
        def setup
          ::WaterDrop.setup do |water_config|
            water_config.deliver = true

            Karafka::App.config.to_h.except(:kafka).each do |k, v|
              key_assignment = :"#{k}="
              next unless water_config.respond_to?(key_assignment)
              water_config.public_send(key_assignment, v)
            end

            Karafka::App.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
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
karafka-1.1.2 lib/karafka/setup/configurators/water_drop.rb
karafka-1.1.1 lib/karafka/setup/configurators/water_drop.rb
karafka-1.1.0 lib/karafka/setup/configurators/water_drop.rb
karafka-1.1.0.alpha2 lib/karafka/setup/configurators/water_drop.rb
karafka-1.1.0.alpha1 lib/karafka/setup/configurators/water_drop.rb