Class: Deimos::BaseConsumer
- Inherits:
-
Object
- Object
- Deimos::BaseConsumer
- Includes:
- SharedConfig
- Defined in:
- lib/deimos/base_consumer.rb
Overview
Shared methods for Kafka Consumers
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#decode_key(key) ⇒ Object
Helper method to decode an encoded key.
Class Method Details
.decoder ⇒ Deimos::SchemaBackends::Base
10 11 12 13 |
# File 'lib/deimos/base_consumer.rb', line 10 def decoder @decoder ||= Deimos.schema_backend(schema: config[:schema], namespace: config[:namespace]) end |
.key_decoder ⇒ Deimos::SchemaBackends::Base
16 17 18 19 |
# File 'lib/deimos/base_consumer.rb', line 16 def key_decoder @key_decoder ||= Deimos.schema_backend(schema: config[:key_schema], namespace: config[:namespace]) end |
Instance Method Details
#decode_key(key) ⇒ Object
Helper method to decode an encoded key.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/deimos/base_consumer.rb', line 25 def decode_key(key) return nil if key.nil? config = self.class.config unless config[:key_configured] raise 'No key config given - if you are not decoding keys, please use '\ '`key_config plain: true`' end if config[:key_field] self.class.decoder.decode_key(key, config[:key_field]) elsif config[:key_schema] self.class.key_decoder.decode(key, schema: config[:key_schema]) else # no encoding key end end |