Class: Vapi::RuleBasedCondition
- Inherits:
-
Object
- Object
- Vapi::RuleBasedCondition
- Defined in:
- lib/vapi_server_sdk/types/rule_based_condition.rb
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#left_side ⇒ String
readonly
This is the left side of the operation.
-
#operator ⇒ Vapi::RuleBasedConditionOperator
readonly
This is the operator you want to use to compare the left side and right side.
-
#right_side ⇒ String
readonly
This is the right side of the operation.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Vapi::RuleBasedCondition
Deserialize a JSON object to an instance of RuleBasedCondition.
-
.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(operator:, left_side:, right_side:, additional_properties: nil) ⇒ Vapi::RuleBasedCondition constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of RuleBasedCondition to a JSON object.
Constructor Details
#initialize(operator:, left_side:, right_side:, additional_properties: nil) ⇒ Vapi::RuleBasedCondition
150 151 152 153 154 155 156 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 150 def initialize(operator:, left_side:, right_side:, additional_properties: nil) @operator = operator @left_side = left_side @right_side = right_side @additional_properties = additional_properties @_field_set = { "operator": operator, "leftSide": left_side, "rightSide": right_side } end |
Instance Attribute Details
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
77 78 79 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 77 def additional_properties @additional_properties end |
#left_side ⇒ String (readonly)
Returns This is the left side of the operation. You can reference any variable in the context of the current block execution (step):
-
“Vapi::RuleBasedCondition.{output{output.your-property-name}” for current step’s output
-
“Vapi::RuleBasedCondition.{input{input.your-property-name}” for current step’s input
-
“Vapi::RuleBasedCondition.{your-step-name{your-step-name.output{your-step-name.output.your-property-name}” for another step’s output (in
the same workflow; read caveat #1)
-
“Vapi::RuleBasedCondition.{your-step-name{your-step-name.input{your-step-name.input.your-property-name}” for another step’s input (in the
same workflow; read caveat #1)
-
“Vapi::RuleBasedCondition.{your-block-name{your-block-name.output{your-block-name.output.your-property-name}” for another block’s output (in
the same workflow; read caveat #2)
-
“Vapi::RuleBasedCondition.{your-block-name{your-block-name.input{your-block-name.input.your-property-name}” for another block’s input (in
the same workflow; read caveat #2)
-
“Vapi::RuleBasedCondition.{workflow{workflow.input{workflow.input.your-property-name}” for the current workflow’s input
-
“Vapi::RuleBasedCondition.{global{global.your-property-name}” for the global context
Or, you can use a constant:
-
“1”
-
“text”
-
“true”
-
“false”
Or, you can mix and match with string interpolation:
-
“{your-property-name}-Vapi::RuleBasedCondition.{input{input.your-property-name-2}-1”
Caveats:
-
a workflow can execute a step multiple times. example, if a loop is used in
the graph. Vapi::RuleBasedCondition.{stepName{stepName.input/output{stepName.input/output.propertyName} will reference the latest usage of the step.
-
a workflow can execute a block multiple times. example, if a step is called
multiple times or if a block is used in multiple steps. Vapi::RuleBasedCondition.{blockName{blockName.input/output{blockName.input/output.propertyName} will reference the latest usage of the block. this liquid variable is just provided for convenience when creating blocks outside of a workflow with steps.
43 44 45 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 43 def left_side @left_side end |
#operator ⇒ Vapi::RuleBasedConditionOperator (readonly)
Returns This is the operator you want to use to compare the left side and right side. The operation becomes ‘(leftSide) operator (rightSide)`.
11 12 13 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 11 def operator @operator end |
#right_side ⇒ String (readonly)
Returns This is the right side of the operation. You can reference any variable in the context of the current block execution (step):
-
“Vapi::RuleBasedCondition.{output{output.your-property-name}” for current step’s output
-
“Vapi::RuleBasedCondition.{input{input.your-property-name}” for current step’s input
-
“Vapi::RuleBasedCondition.{your-step-name{your-step-name.output{your-step-name.output.your-property-name}” for another step’s output (in
the same workflow; read caveat #1)
-
“Vapi::RuleBasedCondition.{your-step-name{your-step-name.input{your-step-name.input.your-property-name}” for another step’s input (in the
same workflow; read caveat #1)
-
“Vapi::RuleBasedCondition.{your-block-name{your-block-name.output{your-block-name.output.your-property-name}” for another block’s output (in
the same workflow; read caveat #2)
-
“Vapi::RuleBasedCondition.{your-block-name{your-block-name.input{your-block-name.input.your-property-name}” for another block’s input (in
the same workflow; read caveat #2)
-
“Vapi::RuleBasedCondition.{workflow{workflow.input{workflow.input.your-property-name}” for the current workflow’s input
-
“Vapi::RuleBasedCondition.{global{global.your-property-name}” for the global context
Or, you can use a constant:
-
“1”
-
“text”
-
“true”
-
“false”
Or, you can mix and match with string interpolation:
-
“{your-property-name}-Vapi::RuleBasedCondition.{input{input.your-property-name-2}-1”
Caveats:
-
a workflow can execute a step multiple times. example, if a loop is used in
the graph. Vapi::RuleBasedCondition.{stepName{stepName.input/output{stepName.input/output.propertyName} will reference the latest usage of the step.
-
a workflow can execute a block multiple times. example, if a step is called
multiple times or if a block is used in multiple steps. Vapi::RuleBasedCondition.{blockName{blockName.input/output{blockName.input/output.propertyName} will reference the latest usage of the block. this liquid variable is just provided for convenience when creating blocks outside of a workflow with steps.
75 76 77 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 75 def right_side @right_side end |
Class Method Details
.from_json(json_object:) ⇒ Vapi::RuleBasedCondition
Deserialize a JSON object to an instance of RuleBasedCondition
162 163 164 165 166 167 168 169 170 171 172 173 174 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 162 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) operator = parsed_json["operator"] left_side = parsed_json["leftSide"] right_side = parsed_json["rightSide"] new( operator: operator, left_side: left_side, right_side: right_side, 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.
189 190 191 192 193 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 189 def self.validate_raw(obj:) obj.operator.is_a?(Vapi::RuleBasedConditionOperator) != false || raise("Passed value for field obj.operator is not the expected type, validation failed.") obj.left_side.is_a?(String) != false || raise("Passed value for field obj.left_side is not the expected type, validation failed.") obj.right_side.is_a?(String) != false || raise("Passed value for field obj.right_side is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of RuleBasedCondition to a JSON object
179 180 181 |
# File 'lib/vapi_server_sdk/types/rule_based_condition.rb', line 179 def to_json(*_args) @_field_set&.to_json end |