class Karafka::Routing::ConsumerMapper
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
Public Instance Methods
call(raw_consumer_group_name)
click to toggle source
@param raw_consumer_group_name [String, Symbol] string or symbolized consumer group name @return [String] remapped final consumer group name
# File lib/karafka/routing/consumer_mapper.rb, line 28 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