Class: Deimos::SchemaBackends::Mock

Inherits:
Base
  • Object
show all
Defined in:
lib/deimos/schema_backends/mock.rb

Overview

Mock implementation of a schema backend that does no encoding or validation.

Instance Attribute Summary

Attributes inherited from Base

#key_schema, #namespace, #registry_info, #schema

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#coerce, content_type, #decode, #encode, field_type, #initialize, #inspect, #load_schema, #sql_type, #supports_class_generation?

Constructor Details

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

Class Method Details

.mock_backendObject



8
9
10
# File 'lib/deimos/schema_backends/mock.rb', line 8

def self.mock_backend
  :mock
end

Instance Method Details

#coerce_field(_field, value) ⇒ Object



36
37
38
# File 'lib/deimos/schema_backends/mock.rb', line 36

def coerce_field(_field, value)
  value
end

#decode_key(payload, key_id) ⇒ Object



46
47
48
# File 'lib/deimos/schema_backends/mock.rb', line 46

def decode_key(payload, key_id)
  payload[key_id]
end

#decode_payload(payload, schema:) ⇒ Object



17
18
19
# File 'lib/deimos/schema_backends/mock.rb', line 17

def decode_payload(payload, schema:)
  payload.is_a?(String) ? 'payload-decoded' : payload.map { |k, v| [k, "decoded-#{v}"] }
end

#encode_key(key_id, key, topic: nil) ⇒ Object



41
42
43
# File 'lib/deimos/schema_backends/mock.rb', line 41

def encode_key(key_id, key, topic: nil)
  { key_id => key }
end

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



22
23
24
# File 'lib/deimos/schema_backends/mock.rb', line 22

def encode_payload(payload, schema:, subject: nil)
  payload.is_a?(String) ? 'payload-encoded' : payload.map { |k, v| [k, "encoded-#{v}"] }.to_json
end

#generate_key_schema(field_name) ⇒ Object



13
14
# File 'lib/deimos/schema_backends/mock.rb', line 13

def generate_key_schema(field_name)
end

#schema_fieldsObject



31
32
33
# File 'lib/deimos/schema_backends/mock.rb', line 31

def schema_fields
  []
end

#supports_key_schemas?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/deimos/schema_backends/mock.rb', line 50

def supports_key_schemas?
  true
end

#validate(payload, schema:) ⇒ Object



27
28
# File 'lib/deimos/schema_backends/mock.rb', line 27

def validate(payload, schema:)
end