Class: Vapi::CreateDtmfToolDto
- Inherits:
-
Object
- Object
- Vapi::CreateDtmfToolDto
- Defined in:
- lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#function ⇒ Vapi::OpenAiFunction
readonly
This is the function definition of the tool.
-
#messages ⇒ Array<Vapi::CreateDtmfToolDtoMessagesItem>
readonly
These are the messages that will be spoken to the user as the tool is running.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Vapi::CreateDtmfToolDto
Deserialize a JSON object to an instance of CreateDtmfToolDto.
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.
Instance Method Summary collapse
- #initialize(messages: OMIT, function: OMIT, additional_properties: nil) ⇒ Vapi::CreateDtmfToolDto constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of CreateDtmfToolDto to a JSON object.
Constructor Details
#initialize(messages: OMIT, function: OMIT, additional_properties: nil) ⇒ Vapi::CreateDtmfToolDto
48 49 50 51 52 53 54 55 |
# File 'lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb', line 48 def initialize(messages: OMIT, function: OMIT, additional_properties: nil) @messages = if != OMIT @function = function if function != OMIT @additional_properties = additional_properties @_field_set = { "messages": , "function": function }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
26 27 28 |
# File 'lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb', line 26 def additional_properties @additional_properties end |
#function ⇒ Vapi::OpenAiFunction (readonly)
Returns This is the function definition of the tool. For ‘endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases. An example of an advanced use case is if you want to customize the message that’s spoken for ‘endCall` tool. You can specify a function where it returns an argument “reason”. Then, in `messages` array, you can have many “request-complete” messages. One of these messages will be triggered if the `messages[].conditions` matches the “reason” argument.
24 25 26 |
# File 'lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb', line 24 def function @function end |
#messages ⇒ Array<Vapi::CreateDtmfToolDtoMessagesItem> (readonly)
Returns These are the messages that will be spoken to the user as the tool is running. For some tools, this is auto-filled based on special fields like ‘tool.destinations`. For others like the function tool, these can be custom configured.
14 15 16 |
# File 'lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb', line 14 def @messages end |
Class Method Details
.from_json(json_object:) ⇒ Vapi::CreateDtmfToolDto
Deserialize a JSON object to an instance of CreateDtmfToolDto
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb', line 61 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) = parsed_json["messages"]&.map do |item| item = item.to_json Vapi::CreateDtmfToolDtoMessagesItem.from_json(json_object: item) end if parsed_json["function"].nil? function = nil else function = parsed_json["function"].to_json function = Vapi::OpenAiFunction.from_json(json_object: function) end new( messages: , function: function, additional_properties: struct ) end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given
hash and check each fields type against the current object's property
definitions.
94 95 96 97 |
# File 'lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb', line 94 def self.validate_raw(obj:) obj.&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.") obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function) end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of CreateDtmfToolDto to a JSON object
84 85 86 |
# File 'lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb', line 84 def to_json(*_args) @_field_set&.to_json end |