Class: Merge::Ticketing::ContactRequest
- Inherits:
-
Object
- Object
- Merge::Ticketing::ContactRequest
- Defined in:
- lib/merge_ruby_client/ticketing/types/contact_request.rb
Overview
# The Contact Object
### Description
The `Contact` object is used to represent the customer, lead, or external user
that a ticket is associated with.
### Usage Example
TODO
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#account ⇒ Merge::Ticketing::ContactRequestAccount
readonly
The contact’s account.
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#details ⇒ String
readonly
The contact’s details.
-
#email_address ⇒ String
readonly
The contact’s email address.
- #integration_params ⇒ Hash{String => Object} readonly
- #linked_account_params ⇒ Hash{String => Object} readonly
-
#name ⇒ String
readonly
The contact’s name.
-
#phone_number ⇒ String
readonly
The contact’s phone number.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Merge::Ticketing::ContactRequest
Deserialize a JSON object to an instance of ContactRequest.
-
.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(name: OMIT, email_address: OMIT, phone_number: OMIT, details: OMIT, account: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) ⇒ Merge::Ticketing::ContactRequest constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of ContactRequest to a JSON object.
Constructor Details
#initialize(name: OMIT, email_address: OMIT, phone_number: OMIT, details: OMIT, account: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) ⇒ Merge::Ticketing::ContactRequest
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 47 def initialize(name: OMIT, email_address: OMIT, phone_number: OMIT, details: OMIT, account: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) @name = name if name != OMIT @email_address = email_address if email_address != OMIT @phone_number = phone_number if phone_number != OMIT @details = details if details != OMIT @account = account if account != OMIT @integration_params = integration_params if integration_params != OMIT @linked_account_params = linked_account_params if linked_account_params != OMIT @additional_properties = additional_properties @_field_set = { "name": name, "email_address": email_address, "phone_number": phone_number, "details": details, "account": account, "integration_params": integration_params, "linked_account_params": linked_account_params }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#account ⇒ Merge::Ticketing::ContactRequestAccount (readonly)
Returns The contact’s account.
25 26 27 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 25 def account @account end |
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
31 32 33 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 31 def additional_properties @additional_properties end |
#details ⇒ String (readonly)
Returns The contact’s details.
23 24 25 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 23 def details @details end |
#email_address ⇒ String (readonly)
Returns The contact’s email address.
19 20 21 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 19 def email_address @email_address end |
#integration_params ⇒ Hash{String => Object} (readonly)
27 28 29 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 27 def integration_params @integration_params end |
#linked_account_params ⇒ Hash{String => Object} (readonly)
29 30 31 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 29 def linked_account_params @linked_account_params end |
#name ⇒ String (readonly)
Returns The contact’s name.
17 18 19 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 17 def name @name end |
#phone_number ⇒ String (readonly)
Returns The contact’s phone number.
21 22 23 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 21 def phone_number @phone_number end |
Class Method Details
.from_json(json_object:) ⇒ Merge::Ticketing::ContactRequest
Deserialize a JSON object to an instance of ContactRequest
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 74 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) name = parsed_json["name"] email_address = parsed_json["email_address"] phone_number = parsed_json["phone_number"] details = parsed_json["details"] if parsed_json["account"].nil? account = nil else account = parsed_json["account"].to_json account = Merge::Ticketing::ContactRequestAccount.from_json(json_object: account) end integration_params = parsed_json["integration_params"] linked_account_params = parsed_json["linked_account_params"] new( name: name, email_address: email_address, phone_number: phone_number, details: details, account: account, integration_params: integration_params, linked_account_params: linked_account_params, 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.
114 115 116 117 118 119 120 121 122 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 114 def self.validate_raw(obj:) obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.") obj.email_address&.is_a?(String) != false || raise("Passed value for field obj.email_address is not the expected type, validation failed.") obj.phone_number&.is_a?(String) != false || raise("Passed value for field obj.phone_number is not the expected type, validation failed.") obj.details&.is_a?(String) != false || raise("Passed value for field obj.details is not the expected type, validation failed.") obj.account.nil? || Merge::Ticketing::ContactRequestAccount.validate_raw(obj: obj.account) obj.integration_params&.is_a?(Hash) != false || raise("Passed value for field obj.integration_params is not the expected type, validation failed.") obj.linked_account_params&.is_a?(Hash) != false || raise("Passed value for field obj.linked_account_params is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of ContactRequest to a JSON object
104 105 106 |
# File 'lib/merge_ruby_client/ticketing/types/contact_request.rb', line 104 def to_json(*_args) @_field_set&.to_json end |