Module: Karafka::Extensions::BatchMetadataBuilder

Defined in:
lib/karafka/extensions/batch_metadata_builder.rb

Overview

Extension for metadata builder to allow building metadata from a hash

Instance Method Summary collapse

Instance Method Details

#from_hash(hash, topic) ⇒ Karafka::Params::Metadata

Builds metadata from hash

Parameters:

  • hash (Hash)

    hash with metadata

  • topic (Karafka::Routing::Topic)

    topic instance

Returns:

  • (Karafka::Params::Metadata)

    metadata instance



11
12
13
14
15
16
17
18
19
20
# File 'lib/karafka/extensions/batch_metadata_builder.rb', line 11

def from_hash(hash, topic)
  # Parser needs to be merged as this is the only non-serializable object
  # so it gets reconstructed from the topic
  Karafka::Params::BatchMetadata
    .new(
      **hash
        .merge('deserializer' => topic.deserializer)
        .transform_keys(&:to_sym)
    )
end