lib/deimos/utils/schema_class.rb in deimos-ruby-1.14.1 vs lib/deimos/utils/schema_class.rb in deimos-ruby-1.14.2

- old
+ new

@@ -4,13 +4,15 @@ module Utils # Class used by SchemaClassGenerator and Consumer/Producer interfaces module SchemaClass class << self # Converts a raw payload into an instance of the Schema Class - # @param payload [Hash] + # @param payload [Hash, Deimos::SchemaClass::Base] # @param schema [String] # @return [Deimos::SchemaClass::Record] def instance(payload, schema) + return payload if payload.is_a?(Deimos::SchemaClass::Base) + klass = "Schemas::#{schema.underscore.camelize}".safe_constantize return payload if klass.nil? || payload.nil? klass.new(**payload.symbolize_keys) end