Class: Deimos::SchemaBackends::AvroValidation

Inherits:
AvroBase
  • Object
show all
Defined in:
lib/deimos/schema_backends/avro_validation.rb

Overview

Leave Ruby hashes as is but validate them against the schema. Useful for unit tests.

Instance Attribute Summary

Attributes inherited from AvroBase

#schema_store

Attributes inherited from Base

#key_schema, #namespace, #schema

Instance Method Summary collapse

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, #validate

Methods inherited from Base

#coerce, #coerce_field, content_type, #decode, #decode_key, #encode, #encode_key, field_type, #generate_key_schema, #initialize, #load_schema, mock_backend, #schema_fields, #sql_type, #validate

Constructor Details

This class inherits a constructor from Deimos::SchemaBackends::AvroBase

Instance Method Details

#decode_payload(payload, schema: nil) ⇒ Object



11
12
13
# File 'lib/deimos/schema_backends/avro_validation.rb', line 11

def decode_payload(payload, schema: nil)
  JSON.parse(payload)
end

#encode_payload(payload, schema: nil, topic: nil) ⇒ Object



16
17
18
# File 'lib/deimos/schema_backends/avro_validation.rb', line 16

def encode_payload(payload, schema: nil, topic: nil)
  payload.to_h.with_indifferent_access.to_json
end