Class: Deimos::SchemaBackends::Mock

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

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

Parameters:

  • _field (Object)
  • value (Object)

Returns:

  • (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) ⇒ String

Parameters:

  • payload (::Hash[untyped, untyped])
  • key_id (String, Symbol)

Returns:

  • (String)


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:) ⇒ ::Hash[untyped, untyped]

Parameters:

  • payload (String)
  • schema: (String, Symbol)

Returns:

  • (::Hash[untyped, untyped])


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) ⇒ String

Parameters:

  • key_id (String, Symbol)
  • key (String, ::Hash[untyped, untyped])

Returns:

  • (String)


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) ⇒ String

Parameters:

  • payload (::Hash[untyped, untyped])
  • schema: (String, Symbol)
  • topic: (String, nil)

Returns:

  • (String)


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_fields::Array[SchemaField]

Returns:



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:) ⇒ void

This method returns an undefined value.

Parameters:

  • payload (::Hash[untyped, untyped])
  • schema: (String, Symbol)


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

def validate(payload, schema:)
end