From b61a40359ae567ae08471c5759b90ebad81eb8f2 Mon Sep 17 00:00:00 2001 From: Lionel Pereira Date: Mon, 18 Dec 2023 17:45:27 -0500 Subject: [PATCH] CCOL-2039: Evaluate schemaclass schema and namespace when setting decoder --- lib/deimos/consumer.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/deimos/consumer.rb b/lib/deimos/consumer.rb index f9932bc3..cc4d9228 100644 --- a/lib/deimos/consumer.rb +++ b/lib/deimos/consumer.rb @@ -19,8 +19,16 @@ class Consumer class << self # @return [Deimos::SchemaBackends::Base] def decoder - @decoder ||= Deimos.schema_backend(schema: config[:schema], - namespace: config[:namespace]) + # @decoder ||= Deimos.schema_backend(schema: config[:schema], namespace: config[:namespace]) + + return @decoder if @decoder + + @decoder = if Utils::SchemaClass.use?(config.to_h) + schema_class = "Schemas::#{config[:schema]}".constantize.new + Deimos.schema_backend(schema: schema_class.schema, namespace: schema_class.namespace) + else + Deimos.schema_backend(schema: config[:schema], namespace: config[:namespace]) + end end # @return [Deimos::SchemaBackends::Base]