Class: Vapi::AssistantHooksItem
- Inherits:
-
Object
- Object
- Vapi::AssistantHooksItem
- Defined in:
- lib/vapi_server_sdk/types/assistant_hooks_item.rb
Instance Attribute Summary collapse
- #discriminant ⇒ String readonly
- #member ⇒ Object readonly
Class Method Summary collapse
- .assistant_speech_interrupted(member:) ⇒ Vapi::AssistantHooksItem
- .call_ending(member:) ⇒ Vapi::AssistantHooksItem
- .customer_speech_interrupted(member:) ⇒ Vapi::AssistantHooksItem
-
.from_json(json_object:) ⇒ Vapi::AssistantHooksItem
Deserialize a JSON object to an instance of AssistantHooksItem.
-
.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(member:, discriminant:) ⇒ Vapi::AssistantHooksItem constructor
-
#is_a?(obj) ⇒ Boolean
For Union Types, is_a? functionality is delegated to the wrapped member.
- #kind_of? ⇒ Object
-
#to_json(*_args) ⇒ String
For Union Types, to_json functionality is delegated to the wrapped member.
Constructor Details
#initialize(member:, discriminant:) ⇒ Vapi::AssistantHooksItem
21 22 23 24 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 21 def initialize(member:, discriminant:) @member = member @discriminant = discriminant end |
Instance Attribute Details
#discriminant ⇒ String (readonly)
13 14 15 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 13 def discriminant @discriminant end |
#member ⇒ Object (readonly)
11 12 13 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 11 def member @member end |
Class Method Details
.assistant_speech_interrupted(member:) ⇒ Vapi::AssistantHooksItem
97 98 99 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 97 def self.assistant_speech_interrupted(member:) new(member: member, discriminant: "assistant.speech.interrupted") end |
.call_ending(member:) ⇒ Vapi::AssistantHooksItem
91 92 93 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 91 def self.call_ending(member:) new(member: member, discriminant: "call.ending") end |
.customer_speech_interrupted(member:) ⇒ Vapi::AssistantHooksItem
103 104 105 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 103 def self.customer_speech_interrupted(member:) new(member: member, discriminant: "customer.speech.interrupted") end |
.from_json(json_object:) ⇒ Vapi::AssistantHooksItem
Deserialize a JSON object to an instance of AssistantHooksItem
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 30 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) member = case struct.on when "call.ending" Vapi::AssistantHookCallEnding.from_json(json_object: json_object) when "assistant.speech.interrupted" Vapi::AssistantHookAssistantSpeechInterrupted.from_json(json_object: json_object) when "customer.speech.interrupted" Vapi::AssistantHookCustomerSpeechInterrupted.from_json(json_object: json_object) else Vapi::AssistantHookCallEnding.from_json(json_object: json_object) end new(member: member, discriminant: struct.on) 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.
68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 68 def self.validate_raw(obj:) case obj.on when "call.ending" Vapi::AssistantHookCallEnding.validate_raw(obj: obj) when "assistant.speech.interrupted" Vapi::AssistantHookAssistantSpeechInterrupted.validate_raw(obj: obj) when "customer.speech.interrupted" Vapi::AssistantHookCustomerSpeechInterrupted.validate_raw(obj: obj) else raise("Passed value matched no type within the union, validation failed.") end end |
Instance Method Details
#is_a?(obj) ⇒ Boolean
For Union Types, is_a? functionality is delegated to the wrapped member.
85 86 87 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 85 def is_a?(obj) @member.is_a?(obj) end |
#kind_of? ⇒ Object
16 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 16 alias kind_of? is_a? |
#to_json(*_args) ⇒ String
For Union Types, to_json functionality is delegated to the wrapped member.
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/vapi_server_sdk/types/assistant_hooks_item.rb', line 48 def to_json(*_args) case @discriminant when "call.ending" { **@member.to_json, on: @discriminant }.to_json when "assistant.speech.interrupted" { **@member.to_json, on: @discriminant }.to_json when "customer.speech.interrupted" { **@member.to_json, on: @discriminant }.to_json else { "on": @discriminant, value: @member }.to_json end @member.to_json end |