class Vellum::PromptTemplateBlock

def self.from_json(json_object:)

Returns:
  • (PromptTemplateBlock) -

Parameters:
  • json_object (JSON) --
def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  id = struct.id
  block_type = BLOCK_TYPE_ENUM.key(parsed_json["block_type"]) || parsed_json["block_type"]
  if parsed_json["properties"].nil?
    properties = nil
  else
    properties = parsed_json["properties"].to_json
    properties = PromptTemplateBlockProperties.from_json(json_object: properties)
  end
  new(id: id, block_type: block_type, properties: properties, additional_properties: struct)
end

def self.validate_raw(obj:)

Returns:
  • (Void) -

Parameters:
  • obj (Object) --
def self.validate_raw(obj:)
  obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
  obj.block_type.is_a?(BLOCK_TYPE_ENUM) != false || raise("Passed value for field obj.block_type is not the expected type, validation failed.")
  PromptTemplateBlockProperties.validate_raw(obj: obj.properties)
end

def initialize(id:, block_type:, properties:, additional_properties: nil)

Returns:
  • (PromptTemplateBlock) -

Parameters:
  • additional_properties (OpenStruct) -- Additional properties unmapped to the current class definition
  • properties (PromptTemplateBlockProperties) --
  • block_type (BLOCK_TYPE_ENUM) --
  • id (String) --
def initialize(id:, block_type:, properties:, additional_properties: nil)
  # @type [String]
  @id = id
  # @type [BLOCK_TYPE_ENUM]
  @block_type = block_type
  # @type [PromptTemplateBlockProperties]
  @properties = properties
  # @type [OpenStruct] Additional properties unmapped to the current class definition
  @additional_properties = additional_properties
end

def to_json(*_args)

Returns:
  • (JSON) -
def to_json(*_args)
  { "id": @id, "block_type": BLOCK_TYPE_ENUM[@block_type] || @block_type, "properties": @properties }.to_json
end