class Vellum::ArrayChatMessageContentItem
def self.from_json(json_object:)
-
(ArrayChatMessageContentItem)-
Parameters:
-
json_object(JSON) --
def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) member = case struct.type when "STRING" StringChatMessageContent.from_json(json_object: json_object) when "FUNCTION_CALL" FunctionCallChatMessageContent.from_json(json_object: json_object) when "IMAGE" ImageChatMessageContent.from_json(json_object: json_object) else StringChatMessageContent.from_json(json_object: json_object) end new(member: member, discriminant: struct.type) end
def self.function_call(member:)
-
(ArrayChatMessageContentItem)-
Parameters:
-
member(FunctionCallChatMessageContent) --
def self.function_call(member:) new(member: member, discriminant: "FUNCTION_CALL") end
def self.image(member:)
-
(ArrayChatMessageContentItem)-
Parameters:
-
member(ImageChatMessageContent) --
def self.image(member:) new(member: member, discriminant: "IMAGE") end
def self.string(member:)
-
(ArrayChatMessageContentItem)-
Parameters:
-
member(StringChatMessageContent) --
def self.string(member:) new(member: member, discriminant: "STRING") end
def self.validate_raw(obj:)
-
(Void)-
Parameters:
-
obj(Object) --
def self.validate_raw(obj:) case obj.type when "STRING" StringChatMessageContent.validate_raw(obj: obj) when "FUNCTION_CALL" FunctionCallChatMessageContent.validate_raw(obj: obj) when "IMAGE" ImageChatMessageContent.validate_raw(obj: obj) else raise("Passed value matched no type within the union, validation failed.") end end
def initialize(member:, discriminant:)
-
(ArrayChatMessageContentItem)-
Parameters:
-
discriminant(String) -- -
member(Object) --
def initialize(member:, discriminant:) # @type [Object] @member = member # @type [String] @discriminant = discriminant end
def is_a?(obj)
-
(Boolean)-
Parameters:
-
obj(Object) --
def is_a?(obj) @member.is_a?(obj) end
def to_json(*_args)
-
(JSON)-
def to_json(*_args) case @discriminant when "STRING" { **@member.to_json, type: @discriminant }.to_json when "FUNCTION_CALL" { **@member.to_json, type: @discriminant }.to_json when "IMAGE" { **@member.to_json, type: @discriminant }.to_json else { "type": @discriminant, value: @member }.to_json end @member.to_json end