Sha256: da123972c742176f6611e5e0de958df62480e7d1bbe186f6f480a5998822ec37
Contents?: true
Size: 1.45 KB
Versions: 4
Compression:
Stored size: 1.45 KB
Contents
# frozen_string_literal: true module Karafka module Routing # Default routes mapper that does not remap things # Mapper can be used for Kafka providers that require namespaced topic names. Instead of being # provider dependent, we can then define mapper and use internally "pure" topic names in # routes and responders # # @example Mapper for mapping prefixed topics # module MyMapper # PREFIX = "my_user_name." # # def incoming(topic) # topic.to_s.gsub(PREFIX, '') # end # # def outgoing(topic) # "#{PREFIX}#{topic}" # end # end # # @example Mapper for replacing "." with "_" in topic names # module MyMapper # PREFIX = "my_user_name." # # def incoming(topic) # topic.to_s.gsub('.', '_') # end # # def outgoing(topic) # topic.to_s.gsub('_', '.') # end # end module Mapper class << self # @param topic [String, Symbol] topic # @return [String, Symbol] same topic as on input # @example # incoming('topic_name') #=> 'topic_name' def incoming(topic) topic end # @param topic [String, Symbol] topic # @return [String, Symbol] same topic as on input # @example # outgoing('topic_name') #=> 'topic_name' def outgoing(topic) topic end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems