Sha256: 576bf3cd95def1a77c3a72ca454755fd189162a557460033befafa4be6599814

Contents?: true

Size: 1.25 KB

Versions: 27

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module Karafka
  module Routing
    # Default consumer mapper that builds consumer ids based on app id and consumer group name
    # Different mapper can be used in case of preexisting consumer names or for applying
    # other naming conventions not compatible with Karafka client_id + consumer name concept
    #
    # @example Mapper for using consumer groups without a client_id prefix
    #   class MyMapper
    #     def call(raw_consumer_group_name)
    #       raw_consumer_group_name
    #     end
    #   end
    #
    # @example Mapper for replacing "_" with "." in topic names
    #   class MyMapper
    #     def call(raw_consumer_group_name)
    #       [
    #         Karafka::Helpers::Inflector.map(Karafka::App.config.client_id.to_s),
    #         raw_consumer_group_name
    #       ].join('_').gsub('_', '.')
    #     end
    #   end
    class ConsumerMapper
      # @param raw_consumer_group_name [String, Symbol] string or symbolized consumer group name
      # @return [String] remapped final consumer group name
      def call(raw_consumer_group_name)
        client_name = Karafka::Helpers::Inflector.map(Karafka::App.config.client_id.to_s)
        "#{client_name}_#{raw_consumer_group_name}"
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
karafka-1.4.15 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.14 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.13 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.12 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.11 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.10 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.9 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.8 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.7 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.6 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.5 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.4 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.3 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.2 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.1 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.0 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.0.rc2 lib/karafka/routing/consumer_mapper.rb
karafka-1.4.0.rc1 lib/karafka/routing/consumer_mapper.rb
karafka-1.3.7 lib/karafka/routing/consumer_mapper.rb
karafka-1.3.6 lib/karafka/routing/consumer_mapper.rb