Sha256: bd42326c09dd22c60c49053a28a155fc0315565a241ac767d9091c15ed8a6d74

Contents?: true

Size: 1.18 KB

Versions: 42

Compression:

Stored size: 1.18 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)
        "#{Karafka::App.config.client_id}_#{raw_consumer_group_name}"
      end
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
karafka-2.0.24 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.23 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.22 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.21 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.20 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.19 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.18 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.17 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.16 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.15 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.14 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.13 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.12 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.11 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.10 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.9 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.8 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.7 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.6 lib/karafka/routing/consumer_mapper.rb
karafka-2.0.5 lib/karafka/routing/consumer_mapper.rb