class Vellum::ExecutionVellumValue
def self.array(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionArrayVellumValue) --
def self.array(member:) new(member: member, discriminant: "ARRAY") end
def self.chat_history(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionChatHistoryVellumValue) --
def self.chat_history(member:) new(member: member, discriminant: "CHAT_HISTORY") end
def self.error(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionErrorVellumValue) --
def self.error(member:) new(member: member, discriminant: "ERROR") end
def self.from_json(json_object:)
-
(ExecutionVellumValue)-
Parameters:
-
json_object(JSON) --
def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) member = case struct.type when "STRING" ExecutionStringVellumValue.from_json(json_object: json_object) when "NUMBER" ExecutionNumberVellumValue.from_json(json_object: json_object) when "JSON" ExecutionJsonVellumValue.from_json(json_object: json_object) when "CHAT_HISTORY" ExecutionChatHistoryVellumValue.from_json(json_object: json_object) when "SEARCH_RESULTS" ExecutionSearchResultsVellumValue.from_json(json_object: json_object) when "ERROR" ExecutionErrorVellumValue.from_json(json_object: json_object) when "ARRAY" ExecutionArrayVellumValue.from_json(json_object: json_object) when "FUNCTION_CALL" ExecutionFunctionCallVellumValue.from_json(json_object: json_object) else ExecutionStringVellumValue.from_json(json_object: json_object) end new(member: member, discriminant: struct.type) end
def self.function_call(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionFunctionCallVellumValue) --
def self.function_call(member:) new(member: member, discriminant: "FUNCTION_CALL") end
def self.json(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionJsonVellumValue) --
def self.json(member:) new(member: member, discriminant: "JSON") end
def self.number(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionNumberVellumValue) --
def self.number(member:) new(member: member, discriminant: "NUMBER") end
def self.search_results(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionSearchResultsVellumValue) --
def self.search_results(member:) new(member: member, discriminant: "SEARCH_RESULTS") end
def self.string(member:)
-
(ExecutionVellumValue)-
Parameters:
-
member(ExecutionStringVellumValue) --
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" ExecutionStringVellumValue.validate_raw(obj: obj) when "NUMBER" ExecutionNumberVellumValue.validate_raw(obj: obj) when "JSON" ExecutionJsonVellumValue.validate_raw(obj: obj) when "CHAT_HISTORY" ExecutionChatHistoryVellumValue.validate_raw(obj: obj) when "SEARCH_RESULTS" ExecutionSearchResultsVellumValue.validate_raw(obj: obj) when "ERROR" ExecutionErrorVellumValue.validate_raw(obj: obj) when "ARRAY" ExecutionArrayVellumValue.validate_raw(obj: obj) when "FUNCTION_CALL" ExecutionFunctionCallVellumValue.validate_raw(obj: obj) else raise("Passed value matched no type within the union, validation failed.") end end
def initialize(member:, discriminant:)
-
(ExecutionVellumValue)-
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 "NUMBER" { **@member.to_json, type: @discriminant }.to_json when "JSON" { **@member.to_json, type: @discriminant }.to_json when "CHAT_HISTORY" { **@member.to_json, type: @discriminant }.to_json when "SEARCH_RESULTS" { **@member.to_json, type: @discriminant }.to_json when "ERROR" { **@member.to_json, type: @discriminant }.to_json when "ARRAY" { **@member.to_json, type: @discriminant }.to_json when "FUNCTION_CALL" { **@member.to_json, type: @discriminant }.to_json else { "type": @discriminant, value: @member }.to_json end @member.to_json end