def surrealize_with(klass, tag: Surrealist::VarsHelper::DEFAULT_TAG)
      if klass < Surrealist::Serializer
        Surrealist::VarsHelper.add_serializer(self, klass, tag: tag)
        instance_variable_set(VarsHelper::PARENT_VARIABLE, klass.defined_schema)
      else
        raise ArgumentError, "#{klass} should be inherited from Surrealist::Serializer"
      end
    end
def surrealize_with(klass, tag: Surrealist::VarsHelper::DEFAULT_TAG)
      if klass < Surrealist::Serializer
        Surrealist::VarsHelper.add_serializer(self, klass, tag: tag)
        instance_variable_set(VarsHelper::PARENT_VARIABLE, klass.defined_schema)
      else
        raise ArgumentError, "#{klass} should be inherited from Surrealist::Serializer"
      end
    end
A DSL method for defining a class that holds serialization logic.

 @param [Class] klass a class that should inherit form Surrealist::Serializer

 @raise ArgumentError if Surrealist::Serializer is not found in the ancestors chain