Class: Merge::Crm::TaskRequest
- Inherits:
-
Object
- Object
- Merge::Crm::TaskRequest
- Defined in:
- lib/merge_ruby_client/crm/types/task_request.rb
Overview
# The Task Object
### Description
The `Task` object is used to represent a task, such as a to-do item.
### Usage Example
TODO
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#account ⇒ Merge::Crm::TaskRequestAccount
readonly
The task’s account.
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#completed_date ⇒ DateTime
readonly
When the task is completed.
-
#content ⇒ String
readonly
The task’s content.
-
#due_date ⇒ DateTime
readonly
When the task is due.
- #integration_params ⇒ Hash{String => Object} readonly
- #linked_account_params ⇒ Hash{String => Object} readonly
-
#opportunity ⇒ Merge::Crm::TaskRequestOpportunity
readonly
The task’s opportunity.
-
#owner ⇒ Merge::Crm::TaskRequestOwner
readonly
The task’s owner.
- #remote_fields ⇒ Array<Merge::Crm::RemoteFieldRequest> readonly
-
#status ⇒ Merge::Crm::TaskStatusEnum
readonly
The task’s status.
-
#subject ⇒ String
readonly
The task’s subject.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Merge::Crm::TaskRequest
Deserialize a JSON object to an instance of TaskRequest.
-
.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(subject: OMIT, content: OMIT, owner: OMIT, account: OMIT, opportunity: OMIT, completed_date: OMIT, due_date: OMIT, status: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil) ⇒ Merge::Crm::TaskRequest constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of TaskRequest to a JSON object.
Constructor Details
#initialize(subject: OMIT, content: OMIT, owner: OMIT, account: OMIT, opportunity: OMIT, completed_date: OMIT, due_date: OMIT, status: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil) ⇒ Merge::Crm::TaskRequest
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 67 def initialize(subject: OMIT, content: OMIT, owner: OMIT, account: OMIT, opportunity: OMIT, completed_date: OMIT, due_date: OMIT, status: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil) @subject = subject if subject != OMIT @content = content if content != OMIT @owner = owner if owner != OMIT @account = account if account != OMIT @opportunity = opportunity if opportunity != OMIT @completed_date = completed_date if completed_date != OMIT @due_date = due_date if due_date != OMIT @status = status if status != OMIT @integration_params = integration_params if integration_params != OMIT @linked_account_params = linked_account_params if linked_account_params != OMIT @remote_fields = remote_fields if remote_fields != OMIT @additional_properties = additional_properties @_field_set = { "subject": subject, "content": content, "owner": owner, "account": account, "opportunity": opportunity, "completed_date": completed_date, "due_date": due_date, "status": status, "integration_params": integration_params, "linked_account_params": linked_account_params, "remote_fields": remote_fields }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#account ⇒ Merge::Crm::TaskRequestAccount (readonly)
Returns The task’s account.
27 28 29 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 27 def account @account end |
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
45 46 47 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 45 def additional_properties @additional_properties end |
#completed_date ⇒ DateTime (readonly)
Returns When the task is completed.
31 32 33 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 31 def completed_date @completed_date end |
#content ⇒ String (readonly)
Returns The task’s content.
23 24 25 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 23 def content @content end |
#due_date ⇒ DateTime (readonly)
Returns When the task is due.
33 34 35 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 33 def due_date @due_date end |
#integration_params ⇒ Hash{String => Object} (readonly)
39 40 41 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 39 def integration_params @integration_params end |
#linked_account_params ⇒ Hash{String => Object} (readonly)
41 42 43 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 41 def linked_account_params @linked_account_params end |
#opportunity ⇒ Merge::Crm::TaskRequestOpportunity (readonly)
Returns The task’s opportunity.
29 30 31 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 29 def opportunity @opportunity end |
#owner ⇒ Merge::Crm::TaskRequestOwner (readonly)
Returns The task’s owner.
25 26 27 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 25 def owner @owner end |
#remote_fields ⇒ Array<Merge::Crm::RemoteFieldRequest> (readonly)
43 44 45 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 43 def remote_fields @remote_fields end |
#status ⇒ Merge::Crm::TaskStatusEnum (readonly)
Returns The task’s status.
-
‘OPEN` - OPEN
-
‘CLOSED` - CLOSED.
37 38 39 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 37 def status @status end |
#subject ⇒ String (readonly)
Returns The task’s subject.
21 22 23 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 21 def subject @subject end |
Class Method Details
.from_json(json_object:) ⇒ Merge::Crm::TaskRequest
Deserialize a JSON object to an instance of TaskRequest
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 102 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) subject = parsed_json["subject"] content = parsed_json["content"] if parsed_json["owner"].nil? owner = nil else owner = parsed_json["owner"].to_json owner = Merge::Crm::TaskRequestOwner.from_json(json_object: owner) end if parsed_json["account"].nil? account = nil else account = parsed_json["account"].to_json account = Merge::Crm::TaskRequestAccount.from_json(json_object: account) end if parsed_json["opportunity"].nil? opportunity = nil else opportunity = parsed_json["opportunity"].to_json opportunity = Merge::Crm::TaskRequestOpportunity.from_json(json_object: opportunity) end completed_date = (DateTime.parse(parsed_json["completed_date"]) unless parsed_json["completed_date"].nil?) due_date = (DateTime.parse(parsed_json["due_date"]) unless parsed_json["due_date"].nil?) status = parsed_json["status"] integration_params = parsed_json["integration_params"] linked_account_params = parsed_json["linked_account_params"] remote_fields = parsed_json["remote_fields"]&.map do |item| item = item.to_json Merge::Crm::RemoteFieldRequest.from_json(json_object: item) end new( subject: subject, content: content, owner: owner, account: account, opportunity: opportunity, completed_date: completed_date, due_date: due_date, status: status, integration_params: integration_params, linked_account_params: linked_account_params, remote_fields: remote_fields, 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.
163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 163 def self.validate_raw(obj:) obj.subject&.is_a?(String) != false || raise("Passed value for field obj.subject is not the expected type, validation failed.") obj.content&.is_a?(String) != false || raise("Passed value for field obj.content is not the expected type, validation failed.") obj.owner.nil? || Merge::Crm::TaskRequestOwner.validate_raw(obj: obj.owner) obj.account.nil? || Merge::Crm::TaskRequestAccount.validate_raw(obj: obj.account) obj.opportunity.nil? || Merge::Crm::TaskRequestOpportunity.validate_raw(obj: obj.opportunity) obj.completed_date&.is_a?(DateTime) != false || raise("Passed value for field obj.completed_date is not the expected type, validation failed.") obj.due_date&.is_a?(DateTime) != false || raise("Passed value for field obj.due_date is not the expected type, validation failed.") obj.status&.is_a?(Merge::Crm::TaskStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.") 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.") obj.remote_fields&.is_a?(Array) != false || raise("Passed value for field obj.remote_fields is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of TaskRequest to a JSON object
153 154 155 |
# File 'lib/merge_ruby_client/crm/types/task_request.rb', line 153 def to_json(*_args) @_field_set&.to_json end |