Sha256: 42a350a0c7136301fc1eb2834cea1b7e4008275a1a4b60073fdd7c9e4322246c
Contents?: true
Size: 937 Bytes
Versions: 6
Compression:
Stored size: 937 Bytes
Contents
# frozen_string_literal: true require_relative 'avro_base' require_relative 'avro_validation' require 'avro_turf/messaging' module Deimos module SchemaBackends # Encode / decode using the Avro schema registry. class AvroSchemaRegistry < AvroBase # @override def decode_payload(payload, schema:) avro_turf_messaging.decode(payload.to_s, schema_name: schema) end # @override def encode_payload(payload, schema: nil, topic: nil) avro_turf_messaging.encode(payload, schema_name: schema, subject: topic || schema) end private # @return [AvroTurf::Messaging] def avro_turf_messaging @avro_turf_messaging ||= AvroTurf::Messaging.new( schema_store: @schema_store, registry_url: Deimos.config.schema.registry_url, schemas_path: Deimos.config.schema.path, namespace: @namespace ) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems