Class: Deimos::SchemaBackends::AvroSchemaRegistry
- Defined in:
- lib/deimos/schema_backends/avro_schema_registry.rb
Overview
Encode / decode using the Avro schema registry.
Instance Attribute Summary
Attributes inherited from AvroBase
Attributes inherited from Base
#key_schema, #namespace, #registry_info, #schema
Instance Method Summary collapse
- #decode_payload(payload, schema:) ⇒ Object
- #encode_payload(payload, schema: nil, subject: nil) ⇒ Object
Methods inherited from AvroBase
#coerce_field, content_type, #decode_key, #encode_key, field_type, #generate_key_schema, #initialize, #load_schema, mock_backend, schema_base_class, schema_classname, #schema_fields, #sql_type, #supports_class_generation?, #supports_key_schemas?, #validate
Methods inherited from Base
#coerce, #coerce_field, content_type, #decode, #decode_key, #encode, #encode_key, field_type, #generate_key_schema, #initialize, #inspect, #load_schema, mock_backend, #schema_fields, #sql_type, #supports_class_generation?, #supports_key_schemas?, #validate
Constructor Details
This class inherits a constructor from Deimos::SchemaBackends::AvroBase
Instance Method Details
#decode_payload(payload, schema:) ⇒ Object
10 11 12 |
# File 'lib/deimos/schema_backends/avro_schema_registry.rb', line 10 def decode_payload(payload, schema:) schema_registry.decode(payload.to_s) end |
#encode_payload(payload, schema: nil, subject: nil) ⇒ Object
15 16 17 |
# File 'lib/deimos/schema_backends/avro_schema_registry.rb', line 15 def encode_payload(payload, schema: nil, subject: nil) schema_registry.encode(payload, subject: subject || schema, schema_name: "#{@namespace}.#{schema}") end |