55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# File 'lib/deimos/ext/schema_route.rb', line 55
def _deimos_setup_key_transcoder(use_classes, registry_info)
key = nil
if key_config[:plain]
key = Transcoder.new(
schema: schema,
backend: nil,
namespace: namespace,
use_schema_classes: use_classes,
topic: name,
registry_info: registry_info
)
key.backend_type = :plain
elsif !key_config[:none]
if key_config[:field]
key = Transcoder.new(
schema: schema,
backend: schema_backend,
namespace: namespace,
use_schema_classes: use_classes,
key_field: key_config[:field].to_s,
topic: name,
registry_info: registry_info
)
elsif key_config[:schema]
key = Transcoder.new(
schema: key_config[:schema] || schema,
backend: schema_backend,
namespace: namespace,
use_schema_classes: use_classes,
topic: self.name,
registry_info: registry_info
)
else
raise 'No key config given - if you are not encoding keys, please use `key_config plain: true`'
end
end
deserializers.key = key if key
end
|