crelate_client 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/Gemfile.lock +69 -0
  4. data/README.md +267 -0
  5. data/Rakefile +8 -0
  6. data/crelate_client-1.0.0.gem +0 -0
  7. data/crelate_client.gemspec +45 -0
  8. data/docs/AssignedTo.md +11 -0
  9. data/docs/AssignedToRequest.md +9 -0
  10. data/docs/BoardParameters.md +9 -0
  11. data/docs/BroadcastMessage.md +15 -0
  12. data/docs/BroadcastMessageCreateRequest.md +9 -0
  13. data/docs/CompaniesApi.md +921 -0
  14. data/docs/Company.md +11 -0
  15. data/docs/ComplianceSettingsPayload.md +8 -0
  16. data/docs/ConsentRequestPayload.md +9 -0
  17. data/docs/ContactsApi.md +1246 -0
  18. data/docs/CrelateAction.md +14 -0
  19. data/docs/CrelateActionPayload.md +10 -0
  20. data/docs/CrelateDetails.md +10 -0
  21. data/docs/CustomFormCompletedForm.md +11 -0
  22. data/docs/CustomFormDefinition.md +16 -0
  23. data/docs/CustomFormDefinitionEntities.md +9 -0
  24. data/docs/CustomFormFormDefinitionUsage.md +10 -0
  25. data/docs/CustomFormFormDefintionUsageJobs.md +9 -0
  26. data/docs/CustomFormFormFieldUsage.md +11 -0
  27. data/docs/CustomFormFormFieldUsageFormDefinition.md +10 -0
  28. data/docs/CustomFormLayoutSection.md +9 -0
  29. data/docs/CustomFormSaveResponse.md +12 -0
  30. data/docs/DocumentCollection.md +10 -0
  31. data/docs/DocumentItem.md +22 -0
  32. data/docs/DomainApi.md +198 -0
  33. data/docs/EmailAttachment.md +9 -0
  34. data/docs/EntityDocumentOptions.md +8 -0
  35. data/docs/EntityLookup.md +15 -0
  36. data/docs/ExtIntegrationResponseInterviewResponse.md +11 -0
  37. data/docs/ExtReferralRequest.md +12 -0
  38. data/docs/ExtResumeCandidate.md +21 -0
  39. data/docs/ExtResumeCareerBuilderValidateCredentialsResponse.md +9 -0
  40. data/docs/ExtResumeOrgState.md +27 -0
  41. data/docs/ExtResumePackagePricing.md +11 -0
  42. data/docs/ExtResumePackageUpdateRequest.md +9 -0
  43. data/docs/ExtResumeSearchResponse.md +9 -0
  44. data/docs/ExtResumeViewResponse.md +30 -0
  45. data/docs/FusebillStateItem.md +9 -0
  46. data/docs/GetDocumentListOptions.md +10 -0
  47. data/docs/InterviewRequest.md +9 -0
  48. data/docs/InterviewRequestDetails.md +15 -0
  49. data/docs/InterviewResponse.md +18 -0
  50. data/docs/JobPostRequest.md +9 -0
  51. data/docs/JobPostingsApi.md +378 -0
  52. data/docs/JobResponse.md +15 -0
  53. data/docs/JobsApi.md +1197 -0
  54. data/docs/MultiEntityLookup.md +8 -0
  55. data/docs/NotesApi.md +215 -0
  56. data/docs/OrgAuditLogEvent.md +22 -0
  57. data/docs/PostPurchaseRequest.md +12 -0
  58. data/docs/PublicApiAttachmentResponse.md +19 -0
  59. data/docs/PublicApiAttachmentResponseList.md +9 -0
  60. data/docs/PublicApiDocumentType.md +10 -0
  61. data/docs/PublicApiGetAccountResponse.md +85 -0
  62. data/docs/PublicApiGetAccountResponseList.md +9 -0
  63. data/docs/PublicApiGetContactJob.md +13 -0
  64. data/docs/PublicApiGetContactResponse.md +151 -0
  65. data/docs/PublicApiGetContactResponseList.md +9 -0
  66. data/docs/PublicApiGetJobContact.md +13 -0
  67. data/docs/PublicApiGetJobListResponse.md +9 -0
  68. data/docs/PublicApiGetJobPostingListResponse.md +9 -0
  69. data/docs/PublicApiGetJobPostingResponse.md +29 -0
  70. data/docs/PublicApiGetJobPostingSearchResponse.md +8 -0
  71. data/docs/PublicApiGetJobPostingSearchResult.md +18 -0
  72. data/docs/PublicApiGetJobResponse.md +127 -0
  73. data/docs/PublicApiGetNoteResponse.md +21 -0
  74. data/docs/PublicApiGetTaskResponse.md +23 -0
  75. data/docs/PublicApiIdResponse.md +8 -0
  76. data/docs/PublicApiPlacementResponse.md +32 -0
  77. data/docs/PublicApiPlacementResponseList.md +9 -0
  78. data/docs/PublicApiRecordOwner.md +10 -0
  79. data/docs/PublicApiSaveAccountRequest.md +74 -0
  80. data/docs/PublicApiSaveAttachmentRequest.md +13 -0
  81. data/docs/PublicApiSaveContactRequest.md +139 -0
  82. data/docs/PublicApiSaveJobApplicationRequest.md +13 -0
  83. data/docs/PublicApiSaveJobPostingRequest.md +19 -0
  84. data/docs/PublicApiSaveJobRequest.md +95 -0
  85. data/docs/PublicApiSaveJobRequestJobType.md +9 -0
  86. data/docs/PublicApiSaveNoteRequest.md +11 -0
  87. data/docs/PublicApiSaveTaskRequest.md +13 -0
  88. data/docs/PublicApiSaveWorkflowItemStatusRequest.md +9 -0
  89. data/docs/PublicApiTagCategory.md +9 -0
  90. data/docs/PublicApiWorkflowStatus.md +12 -0
  91. data/docs/PublicApiWorkflowType.md +9 -0
  92. data/docs/Question.md +13 -0
  93. data/docs/QuestionSetResponse.md +12 -0
  94. data/docs/SaveExtCredentialResponse.md +10 -0
  95. data/docs/SearchContact.md +11 -0
  96. data/docs/SendEmailResponse.md +13 -0
  97. data/docs/SendSubmittalDetail.md +11 -0
  98. data/docs/ShareLink.md +13 -0
  99. data/docs/SignupInformation.md +19 -0
  100. data/docs/SmsPlivoMessageReceivedRequest.md +15 -0
  101. data/docs/SmsPlivoMessageStatusReceivedRequest.md +17 -0
  102. data/docs/SmsPlivoVoiceAnswerRequest.md +13 -0
  103. data/docs/SmsPlivoVoiceHangupRequest.md +19 -0
  104. data/docs/SparkHireResponseInfoInterviewResponse.md +11 -0
  105. data/docs/SparkHireResponseInfoJobResponse.md +11 -0
  106. data/docs/SparkHireResponseInfoQuestionSetResponse.md +11 -0
  107. data/docs/TasksApi.md +215 -0
  108. data/docs/UserResponse.md +12 -0
  109. data/docs/WayupData.md +15 -0
  110. data/docs/WebhookDeleteResponse.md +8 -0
  111. data/docs/ZipApplyData.md +15 -0
  112. data/git_push.sh +55 -0
  113. data/lib/.DS_Store +0 -0
  114. data/lib/crelate_client/.DS_Store +0 -0
  115. data/lib/crelate_client/api/companies_api.rb +1151 -0
  116. data/lib/crelate_client/api/contacts_api.rb +1552 -0
  117. data/lib/crelate_client/api/domain_api.rb +239 -0
  118. data/lib/crelate_client/api/job_postings_api.rb +467 -0
  119. data/lib/crelate_client/api/jobs_api.rb +1494 -0
  120. data/lib/crelate_client/api/notes_api.rb +273 -0
  121. data/lib/crelate_client/api/tasks_api.rb +273 -0
  122. data/lib/crelate_client/api_client.rb +388 -0
  123. data/lib/crelate_client/api_error.rb +38 -0
  124. data/lib/crelate_client/configuration.rb +202 -0
  125. data/lib/crelate_client/models/assigned_to.rb +215 -0
  126. data/lib/crelate_client/models/assigned_to_request.rb +197 -0
  127. data/lib/crelate_client/models/board_parameters.rb +199 -0
  128. data/lib/crelate_client/models/broadcast_message.rb +284 -0
  129. data/lib/crelate_client/models/broadcast_message_create_request.rb +197 -0
  130. data/lib/crelate_client/models/company.rb +215 -0
  131. data/lib/crelate_client/models/compliance_settings_payload.rb +188 -0
  132. data/lib/crelate_client/models/consent_request_payload.rb +197 -0
  133. data/lib/crelate_client/models/crelate_action.rb +279 -0
  134. data/lib/crelate_client/models/crelate_action_payload.rb +210 -0
  135. data/lib/crelate_client/models/crelate_details.rb +206 -0
  136. data/lib/crelate_client/models/custom_form_completed_form.rb +221 -0
  137. data/lib/crelate_client/models/custom_form_definition.rb +264 -0
  138. data/lib/crelate_client/models/custom_form_definition_entities.rb +201 -0
  139. data/lib/crelate_client/models/custom_form_form_definition_usage.rb +210 -0
  140. data/lib/crelate_client/models/custom_form_form_defintion_usage_jobs.rb +197 -0
  141. data/lib/crelate_client/models/custom_form_form_field_usage.rb +221 -0
  142. data/lib/crelate_client/models/custom_form_form_field_usage_form_definition.rb +206 -0
  143. data/lib/crelate_client/models/custom_form_layout_section.rb +199 -0
  144. data/lib/crelate_client/models/custom_form_save_response.rb +259 -0
  145. data/lib/crelate_client/models/document_collection.rb +212 -0
  146. data/lib/crelate_client/models/document_item.rb +316 -0
  147. data/lib/crelate_client/models/email_attachment.rb +213 -0
  148. data/lib/crelate_client/models/entity_document_options.rb +188 -0
  149. data/lib/crelate_client/models/entity_lookup.rb +286 -0
  150. data/lib/crelate_client/models/ext_integration_response_interview_response.rb +217 -0
  151. data/lib/crelate_client/models/ext_referral_request.rb +224 -0
  152. data/lib/crelate_client/models/ext_resume_candidate.rb +342 -0
  153. data/lib/crelate_client/models/ext_resume_career_builder_validate_credentials_response.rb +197 -0
  154. data/lib/crelate_client/models/ext_resume_org_state.rb +404 -0
  155. data/lib/crelate_client/models/ext_resume_package_pricing.rb +215 -0
  156. data/lib/crelate_client/models/ext_resume_package_update_request.rb +230 -0
  157. data/lib/crelate_client/models/ext_resume_search_response.rb +199 -0
  158. data/lib/crelate_client/models/ext_resume_view_response.rb +421 -0
  159. data/lib/crelate_client/models/fusebill_state_item.rb +197 -0
  160. data/lib/crelate_client/models/get_document_list_options.rb +231 -0
  161. data/lib/crelate_client/models/interview_request.rb +199 -0
  162. data/lib/crelate_client/models/interview_request_details.rb +255 -0
  163. data/lib/crelate_client/models/interview_response.rb +311 -0
  164. data/lib/crelate_client/models/job_post_request.rb +197 -0
  165. data/lib/crelate_client/models/job_response.rb +251 -0
  166. data/lib/crelate_client/models/multi_entity_lookup.rb +190 -0
  167. data/lib/crelate_client/models/org_audit_log_event.rb +314 -0
  168. data/lib/crelate_client/models/post_purchase_request.rb +224 -0
  169. data/lib/crelate_client/models/public_api_attachment_response.rb +287 -0
  170. data/lib/crelate_client/models/public_api_attachment_response_list.rb +199 -0
  171. data/lib/crelate_client/models/public_api_document_type.rb +208 -0
  172. data/lib/crelate_client/models/public_api_get_account_response.rb +889 -0
  173. data/lib/crelate_client/models/public_api_get_account_response_list.rb +199 -0
  174. data/lib/crelate_client/models/public_api_get_contact_job.rb +233 -0
  175. data/lib/crelate_client/models/public_api_get_contact_response.rb +1485 -0
  176. data/lib/crelate_client/models/public_api_get_contact_response_list.rb +199 -0
  177. data/lib/crelate_client/models/public_api_get_job_contact.rb +233 -0
  178. data/lib/crelate_client/models/public_api_get_job_list_response.rb +199 -0
  179. data/lib/crelate_client/models/public_api_get_job_posting_list_response.rb +199 -0
  180. data/lib/crelate_client/models/public_api_get_job_posting_response.rb +379 -0
  181. data/lib/crelate_client/models/public_api_get_job_posting_search_response.rb +190 -0
  182. data/lib/crelate_client/models/public_api_get_job_posting_search_result.rb +278 -0
  183. data/lib/crelate_client/models/public_api_get_job_response.rb +1267 -0
  184. data/lib/crelate_client/models/public_api_get_note_response.rb +307 -0
  185. data/lib/crelate_client/models/public_api_get_task_response.rb +325 -0
  186. data/lib/crelate_client/models/public_api_id_response.rb +188 -0
  187. data/lib/crelate_client/models/public_api_placement_response.rb +404 -0
  188. data/lib/crelate_client/models/public_api_placement_response_list.rb +199 -0
  189. data/lib/crelate_client/models/public_api_record_owner.rb +206 -0
  190. data/lib/crelate_client/models/public_api_save_account_request.rb +786 -0
  191. data/lib/crelate_client/models/public_api_save_attachment_request.rb +233 -0
  192. data/lib/crelate_client/models/public_api_save_contact_request.rb +1373 -0
  193. data/lib/crelate_client/models/public_api_save_job_application_request.rb +233 -0
  194. data/lib/crelate_client/models/public_api_save_job_posting_request.rb +287 -0
  195. data/lib/crelate_client/models/public_api_save_job_request.rb +975 -0
  196. data/lib/crelate_client/models/public_api_save_job_request_job_type.rb +197 -0
  197. data/lib/crelate_client/models/public_api_save_note_request.rb +215 -0
  198. data/lib/crelate_client/models/public_api_save_task_request.rb +233 -0
  199. data/lib/crelate_client/models/public_api_save_workflow_item_status_request.rb +197 -0
  200. data/lib/crelate_client/models/public_api_tag_category.rb +197 -0
  201. data/lib/crelate_client/models/public_api_workflow_status.rb +224 -0
  202. data/lib/crelate_client/models/public_api_workflow_type.rb +197 -0
  203. data/lib/crelate_client/models/question.rb +233 -0
  204. data/lib/crelate_client/models/question_set_response.rb +226 -0
  205. data/lib/crelate_client/models/save_ext_credential_response.rb +206 -0
  206. data/lib/crelate_client/models/search_contact.rb +215 -0
  207. data/lib/crelate_client/models/send_email_response.rb +235 -0
  208. data/lib/crelate_client/models/send_submittal_detail.rb +217 -0
  209. data/lib/crelate_client/models/share_link.rb +266 -0
  210. data/lib/crelate_client/models/signup_information.rb +287 -0
  211. data/lib/crelate_client/models/sms_plivo_message_received_request.rb +251 -0
  212. data/lib/crelate_client/models/sms_plivo_message_status_received_request.rb +269 -0
  213. data/lib/crelate_client/models/sms_plivo_voice_answer_request.rb +233 -0
  214. data/lib/crelate_client/models/sms_plivo_voice_hangup_request.rb +287 -0
  215. data/lib/crelate_client/models/spark_hire_response_info_interview_response.rb +215 -0
  216. data/lib/crelate_client/models/spark_hire_response_info_job_response.rb +215 -0
  217. data/lib/crelate_client/models/spark_hire_response_info_question_set_response.rb +215 -0
  218. data/lib/crelate_client/models/user_response.rb +224 -0
  219. data/lib/crelate_client/models/wayup_data.rb +267 -0
  220. data/lib/crelate_client/models/webhook_delete_response.rb +188 -0
  221. data/lib/crelate_client/models/zip_apply_data.rb +267 -0
  222. data/lib/crelate_client/version.rb +15 -0
  223. data/lib/crelate_client.rb +143 -0
  224. data/spec/api/companies_api_spec.rb +273 -0
  225. data/spec/api/contacts_api_spec.rb +358 -0
  226. data/spec/api/domain_api_spec.rb +83 -0
  227. data/spec/api/job_postings_api_spec.rb +131 -0
  228. data/spec/api/jobs_api_spec.rb +346 -0
  229. data/spec/api/notes_api_spec.rb +88 -0
  230. data/spec/api/tasks_api_spec.rb +88 -0
  231. data/spec/api_client_spec.rb +226 -0
  232. data/spec/configuration_spec.rb +42 -0
  233. data/spec/models/assigned_to_request_spec.rb +48 -0
  234. data/spec/models/assigned_to_spec.rb +60 -0
  235. data/spec/models/board_parameters_spec.rb +48 -0
  236. data/spec/models/broadcast_message_create_request_spec.rb +48 -0
  237. data/spec/models/broadcast_message_spec.rb +88 -0
  238. data/spec/models/company_spec.rb +60 -0
  239. data/spec/models/compliance_settings_payload_spec.rb +42 -0
  240. data/spec/models/consent_request_payload_spec.rb +48 -0
  241. data/spec/models/crelate_action_payload_spec.rb +54 -0
  242. data/spec/models/crelate_action_spec.rb +82 -0
  243. data/spec/models/crelate_details_spec.rb +54 -0
  244. data/spec/models/custom_form_completed_form_spec.rb +60 -0
  245. data/spec/models/custom_form_definition_entities_spec.rb +48 -0
  246. data/spec/models/custom_form_definition_spec.rb +90 -0
  247. data/spec/models/custom_form_form_definition_usage_spec.rb +54 -0
  248. data/spec/models/custom_form_form_defintion_usage_jobs_spec.rb +48 -0
  249. data/spec/models/custom_form_form_field_usage_form_definition_spec.rb +54 -0
  250. data/spec/models/custom_form_form_field_usage_spec.rb +60 -0
  251. data/spec/models/custom_form_layout_section_spec.rb +48 -0
  252. data/spec/models/custom_form_save_response_spec.rb +70 -0
  253. data/spec/models/document_collection_spec.rb +54 -0
  254. data/spec/models/document_item_spec.rb +126 -0
  255. data/spec/models/email_attachment_spec.rb +48 -0
  256. data/spec/models/entity_document_options_spec.rb +42 -0
  257. data/spec/models/entity_lookup_spec.rb +88 -0
  258. data/spec/models/ext_integration_response_interview_response_spec.rb +60 -0
  259. data/spec/models/ext_referral_request_spec.rb +66 -0
  260. data/spec/models/ext_resume_candidate_spec.rb +124 -0
  261. data/spec/models/ext_resume_career_builder_validate_credentials_response_spec.rb +48 -0
  262. data/spec/models/ext_resume_org_state_spec.rb +164 -0
  263. data/spec/models/ext_resume_package_pricing_spec.rb +60 -0
  264. data/spec/models/ext_resume_package_update_request_spec.rb +52 -0
  265. data/spec/models/ext_resume_search_response_spec.rb +48 -0
  266. data/spec/models/ext_resume_view_response_spec.rb +178 -0
  267. data/spec/models/fusebill_state_item_spec.rb +48 -0
  268. data/spec/models/get_document_list_options_spec.rb +58 -0
  269. data/spec/models/interview_request_details_spec.rb +84 -0
  270. data/spec/models/interview_request_spec.rb +48 -0
  271. data/spec/models/interview_response_spec.rb +106 -0
  272. data/spec/models/job_post_request_spec.rb +48 -0
  273. data/spec/models/job_response_spec.rb +84 -0
  274. data/spec/models/multi_entity_lookup_spec.rb +42 -0
  275. data/spec/models/org_audit_log_event_spec.rb +126 -0
  276. data/spec/models/post_purchase_request_spec.rb +66 -0
  277. data/spec/models/public_api_attachment_response_list_spec.rb +48 -0
  278. data/spec/models/public_api_attachment_response_spec.rb +108 -0
  279. data/spec/models/public_api_document_type_spec.rb +54 -0
  280. data/spec/models/public_api_get_account_response_list_spec.rb +48 -0
  281. data/spec/models/public_api_get_account_response_spec.rb +504 -0
  282. data/spec/models/public_api_get_contact_job_spec.rb +72 -0
  283. data/spec/models/public_api_get_contact_response_list_spec.rb +48 -0
  284. data/spec/models/public_api_get_contact_response_spec.rb +900 -0
  285. data/spec/models/public_api_get_job_contact_spec.rb +72 -0
  286. data/spec/models/public_api_get_job_list_response_spec.rb +48 -0
  287. data/spec/models/public_api_get_job_posting_list_response_spec.rb +48 -0
  288. data/spec/models/public_api_get_job_posting_response_spec.rb +168 -0
  289. data/spec/models/public_api_get_job_posting_search_response_spec.rb +42 -0
  290. data/spec/models/public_api_get_job_posting_search_result_spec.rb +102 -0
  291. data/spec/models/public_api_get_job_response_spec.rb +756 -0
  292. data/spec/models/public_api_get_note_response_spec.rb +120 -0
  293. data/spec/models/public_api_get_task_response_spec.rb +132 -0
  294. data/spec/models/public_api_id_response_spec.rb +42 -0
  295. data/spec/models/public_api_placement_response_list_spec.rb +48 -0
  296. data/spec/models/public_api_placement_response_spec.rb +186 -0
  297. data/spec/models/public_api_record_owner_spec.rb +54 -0
  298. data/spec/models/public_api_save_account_request_spec.rb +438 -0
  299. data/spec/models/public_api_save_attachment_request_spec.rb +72 -0
  300. data/spec/models/public_api_save_contact_request_spec.rb +828 -0
  301. data/spec/models/public_api_save_job_application_request_spec.rb +72 -0
  302. data/spec/models/public_api_save_job_posting_request_spec.rb +108 -0
  303. data/spec/models/public_api_save_job_request_job_type_spec.rb +48 -0
  304. data/spec/models/public_api_save_job_request_spec.rb +564 -0
  305. data/spec/models/public_api_save_note_request_spec.rb +60 -0
  306. data/spec/models/public_api_save_task_request_spec.rb +72 -0
  307. data/spec/models/public_api_save_workflow_item_status_request_spec.rb +48 -0
  308. data/spec/models/public_api_tag_category_spec.rb +48 -0
  309. data/spec/models/public_api_workflow_status_spec.rb +66 -0
  310. data/spec/models/public_api_workflow_type_spec.rb +48 -0
  311. data/spec/models/question_set_response_spec.rb +66 -0
  312. data/spec/models/question_spec.rb +72 -0
  313. data/spec/models/save_ext_credential_response_spec.rb +54 -0
  314. data/spec/models/search_contact_spec.rb +60 -0
  315. data/spec/models/send_email_response_spec.rb +72 -0
  316. data/spec/models/send_submittal_detail_spec.rb +60 -0
  317. data/spec/models/share_link_spec.rb +76 -0
  318. data/spec/models/signup_information_spec.rb +108 -0
  319. data/spec/models/sms_plivo_message_received_request_spec.rb +84 -0
  320. data/spec/models/sms_plivo_message_status_received_request_spec.rb +96 -0
  321. data/spec/models/sms_plivo_voice_answer_request_spec.rb +72 -0
  322. data/spec/models/sms_plivo_voice_hangup_request_spec.rb +108 -0
  323. data/spec/models/spark_hire_response_info_interview_response_spec.rb +60 -0
  324. data/spec/models/spark_hire_response_info_job_response_spec.rb +60 -0
  325. data/spec/models/spark_hire_response_info_question_set_response_spec.rb +60 -0
  326. data/spec/models/user_response_spec.rb +66 -0
  327. data/spec/models/wayup_data_spec.rb +84 -0
  328. data/spec/models/webhook_delete_response_spec.rb +42 -0
  329. data/spec/models/zip_apply_data_spec.rb +84 -0
  330. data/spec/spec_helper.rb +111 -0
  331. metadata +654 -0
@@ -0,0 +1,1267 @@
1
+ =begin
2
+ #Crelate API Reference
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CrelateClient
16
+
17
+ class PublicApiGetJobResponse
18
+ attr_accessor :additional_contact_billing_id
19
+
20
+ attr_accessor :additional_contact_billing_is_primary
21
+
22
+ attr_accessor :additional_contact_billing_name
23
+
24
+ attr_accessor :additional_contact_executive_sponsor_id
25
+
26
+ attr_accessor :additional_contact_executive_sponsor_is_primary
27
+
28
+ attr_accessor :additional_contact_executive_sponsor_name
29
+
30
+ attr_accessor :additional_contact_hiring_manager_id
31
+
32
+ attr_accessor :additional_contact_hiring_manager_is_primary
33
+
34
+ attr_accessor :additional_contact_hiring_manager_name
35
+
36
+ attr_accessor :additional_contact_internal_recruiter_id
37
+
38
+ attr_accessor :additional_contact_internal_recruiter_is_primary
39
+
40
+ attr_accessor :additional_contact_internal_recruiter_name
41
+
42
+ attr_accessor :additional_contact_other_id
43
+
44
+ attr_accessor :additional_contact_other_is_primary
45
+
46
+ attr_accessor :additional_contact_other_name
47
+
48
+ attr_accessor :attachments
49
+
50
+ attr_accessor :created_by_id
51
+
52
+ attr_accessor :created_by_name
53
+
54
+ attr_accessor :created_on
55
+
56
+ attr_accessor :expected_value
57
+
58
+ attr_accessor :external_email_address
59
+
60
+ attr_accessor :id
61
+
62
+ attr_accessor :job_code
63
+
64
+ attr_accessor :last_activity_date
65
+
66
+ attr_accessor :last_engagement_date
67
+
68
+ attr_accessor :modified_by_id
69
+
70
+ attr_accessor :modified_by_name
71
+
72
+ attr_accessor :modified_on
73
+
74
+ attr_accessor :owners
75
+
76
+ attr_accessor :status_id
77
+
78
+ attr_accessor :status_name
79
+
80
+ attr_accessor :time_to_close
81
+
82
+ attr_accessor :actual_value
83
+
84
+ attr_accessor :additional_contact_client_first_name
85
+
86
+ attr_accessor :additional_contact_client_id
87
+
88
+ attr_accessor :additional_contact_client_is_primary
89
+
90
+ attr_accessor :additional_contact_client_last_name
91
+
92
+ attr_accessor :address_business_city
93
+
94
+ attr_accessor :address_business_country
95
+
96
+ attr_accessor :address_business_is_primary
97
+
98
+ attr_accessor :address_business_line1
99
+
100
+ attr_accessor :address_business_state
101
+
102
+ attr_accessor :address_business_zip_code
103
+
104
+ attr_accessor :address_other_city
105
+
106
+ attr_accessor :address_other_country
107
+
108
+ attr_accessor :address_other_is_primary
109
+
110
+ attr_accessor :address_other_line1
111
+
112
+ attr_accessor :address_other_state
113
+
114
+ attr_accessor :address_other_zip_code
115
+
116
+ attr_accessor :bill_rate
117
+
118
+ attr_accessor :bonus
119
+
120
+ attr_accessor :commission
121
+
122
+ attr_accessor :company_id
123
+
124
+ attr_accessor :company_name
125
+
126
+ attr_accessor :compensation
127
+
128
+ attr_accessor :compensation_details
129
+
130
+ attr_accessor :custom_field1
131
+
132
+ attr_accessor :custom_field10
133
+
134
+ attr_accessor :custom_field11
135
+
136
+ attr_accessor :custom_field12
137
+
138
+ attr_accessor :custom_field13
139
+
140
+ attr_accessor :custom_field14
141
+
142
+ attr_accessor :custom_field15
143
+
144
+ attr_accessor :custom_field16
145
+
146
+ attr_accessor :custom_field17
147
+
148
+ attr_accessor :custom_field18
149
+
150
+ attr_accessor :custom_field19
151
+
152
+ attr_accessor :custom_field2
153
+
154
+ attr_accessor :custom_field20
155
+
156
+ attr_accessor :custom_field21
157
+
158
+ attr_accessor :custom_field22
159
+
160
+ attr_accessor :custom_field23
161
+
162
+ attr_accessor :custom_field24
163
+
164
+ attr_accessor :custom_field25
165
+
166
+ attr_accessor :custom_field26
167
+
168
+ attr_accessor :custom_field27
169
+
170
+ attr_accessor :custom_field28
171
+
172
+ attr_accessor :custom_field29
173
+
174
+ attr_accessor :custom_field3
175
+
176
+ attr_accessor :custom_field30
177
+
178
+ attr_accessor :custom_field4
179
+
180
+ attr_accessor :custom_field5
181
+
182
+ attr_accessor :custom_field6
183
+
184
+ attr_accessor :custom_field7
185
+
186
+ attr_accessor :custom_field8
187
+
188
+ attr_accessor :custom_field9
189
+
190
+ attr_accessor :description
191
+
192
+ attr_accessor :discount
193
+
194
+ attr_accessor :estimated_close_date
195
+
196
+ attr_accessor :external_primary_key
197
+
198
+ attr_accessor :fee
199
+
200
+ attr_accessor :fee_percent
201
+
202
+ attr_accessor :hourly_rate
203
+
204
+ attr_accessor :is_lead
205
+
206
+ attr_accessor :is_on_hold
207
+
208
+ attr_accessor :job_title_id
209
+
210
+ attr_accessor :job_title_name
211
+
212
+ attr_accessor :job_types
213
+
214
+ attr_accessor :lead_source_id
215
+
216
+ attr_accessor :lead_source_name
217
+
218
+ attr_accessor :margin
219
+
220
+ attr_accessor :name
221
+
222
+ attr_accessor :number_of_openings
223
+
224
+ attr_accessor :opportunity_type_id
225
+
226
+ attr_accessor :opportunity_type_name
227
+
228
+ attr_accessor :parent_job_id
229
+
230
+ attr_accessor :parent_job_name
231
+
232
+ attr_accessor :pay_rate
233
+
234
+ attr_accessor :potential_value
235
+
236
+ attr_accessor :priority_id
237
+
238
+ attr_accessor :priority_name
239
+
240
+ attr_accessor :probability
241
+
242
+ attr_accessor :salary
243
+
244
+ attr_accessor :start_date
245
+
246
+ attr_accessor :tags
247
+
248
+ attr_accessor :total_hours
249
+
250
+ attr_accessor :website_description
251
+
252
+ attr_accessor :website_description_is_primary
253
+
254
+ attr_accessor :website_other
255
+
256
+ attr_accessor :website_other_is_primary
257
+
258
+
259
+ # Attribute mapping from ruby-style variable name to JSON key.
260
+ def self.attribute_map
261
+ {
262
+ :'additional_contact_billing_id' => :'AdditionalContact_Billing_Id',
263
+ :'additional_contact_billing_is_primary' => :'AdditionalContact_Billing_IsPrimary',
264
+ :'additional_contact_billing_name' => :'AdditionalContact_Billing_Name',
265
+ :'additional_contact_executive_sponsor_id' => :'AdditionalContact_ExecutiveSponsor_Id',
266
+ :'additional_contact_executive_sponsor_is_primary' => :'AdditionalContact_ExecutiveSponsor_IsPrimary',
267
+ :'additional_contact_executive_sponsor_name' => :'AdditionalContact_ExecutiveSponsor_Name',
268
+ :'additional_contact_hiring_manager_id' => :'AdditionalContact_HiringManager_Id',
269
+ :'additional_contact_hiring_manager_is_primary' => :'AdditionalContact_HiringManager_IsPrimary',
270
+ :'additional_contact_hiring_manager_name' => :'AdditionalContact_HiringManager_Name',
271
+ :'additional_contact_internal_recruiter_id' => :'AdditionalContact_InternalRecruiter_Id',
272
+ :'additional_contact_internal_recruiter_is_primary' => :'AdditionalContact_InternalRecruiter_IsPrimary',
273
+ :'additional_contact_internal_recruiter_name' => :'AdditionalContact_InternalRecruiter_Name',
274
+ :'additional_contact_other_id' => :'AdditionalContact_Other_Id',
275
+ :'additional_contact_other_is_primary' => :'AdditionalContact_Other_IsPrimary',
276
+ :'additional_contact_other_name' => :'AdditionalContact_Other_Name',
277
+ :'attachments' => :'Attachments',
278
+ :'created_by_id' => :'CreatedBy_Id',
279
+ :'created_by_name' => :'CreatedBy_Name',
280
+ :'created_on' => :'CreatedOn',
281
+ :'expected_value' => :'ExpectedValue',
282
+ :'external_email_address' => :'ExternalEmailAddress',
283
+ :'id' => :'Id',
284
+ :'job_code' => :'JobCode',
285
+ :'last_activity_date' => :'LastActivityDate',
286
+ :'last_engagement_date' => :'LastEngagementDate',
287
+ :'modified_by_id' => :'ModifiedBy_Id',
288
+ :'modified_by_name' => :'ModifiedBy_Name',
289
+ :'modified_on' => :'ModifiedOn',
290
+ :'owners' => :'Owners',
291
+ :'status_id' => :'Status_Id',
292
+ :'status_name' => :'Status_Name',
293
+ :'time_to_close' => :'TimeToClose',
294
+ :'actual_value' => :'ActualValue',
295
+ :'additional_contact_client_first_name' => :'AdditionalContact_Client_FirstName',
296
+ :'additional_contact_client_id' => :'AdditionalContact_Client_Id',
297
+ :'additional_contact_client_is_primary' => :'AdditionalContact_Client_IsPrimary',
298
+ :'additional_contact_client_last_name' => :'AdditionalContact_Client_LastName',
299
+ :'address_business_city' => :'Address_Business_City',
300
+ :'address_business_country' => :'Address_Business_Country',
301
+ :'address_business_is_primary' => :'Address_Business_IsPrimary',
302
+ :'address_business_line1' => :'Address_Business_Line1',
303
+ :'address_business_state' => :'Address_Business_State',
304
+ :'address_business_zip_code' => :'Address_Business_ZipCode',
305
+ :'address_other_city' => :'Address_Other_City',
306
+ :'address_other_country' => :'Address_Other_Country',
307
+ :'address_other_is_primary' => :'Address_Other_IsPrimary',
308
+ :'address_other_line1' => :'Address_Other_Line1',
309
+ :'address_other_state' => :'Address_Other_State',
310
+ :'address_other_zip_code' => :'Address_Other_ZipCode',
311
+ :'bill_rate' => :'BillRate',
312
+ :'bonus' => :'Bonus',
313
+ :'commission' => :'Commission',
314
+ :'company_id' => :'Company_Id',
315
+ :'company_name' => :'Company_Name',
316
+ :'compensation' => :'Compensation',
317
+ :'compensation_details' => :'CompensationDetails',
318
+ :'custom_field1' => :'CustomField1',
319
+ :'custom_field10' => :'CustomField10',
320
+ :'custom_field11' => :'CustomField11',
321
+ :'custom_field12' => :'CustomField12',
322
+ :'custom_field13' => :'CustomField13',
323
+ :'custom_field14' => :'CustomField14',
324
+ :'custom_field15' => :'CustomField15',
325
+ :'custom_field16' => :'CustomField16',
326
+ :'custom_field17' => :'CustomField17',
327
+ :'custom_field18' => :'CustomField18',
328
+ :'custom_field19' => :'CustomField19',
329
+ :'custom_field2' => :'CustomField2',
330
+ :'custom_field20' => :'CustomField20',
331
+ :'custom_field21' => :'CustomField21',
332
+ :'custom_field22' => :'CustomField22',
333
+ :'custom_field23' => :'CustomField23',
334
+ :'custom_field24' => :'CustomField24',
335
+ :'custom_field25' => :'CustomField25',
336
+ :'custom_field26' => :'CustomField26',
337
+ :'custom_field27' => :'CustomField27',
338
+ :'custom_field28' => :'CustomField28',
339
+ :'custom_field29' => :'CustomField29',
340
+ :'custom_field3' => :'CustomField3',
341
+ :'custom_field30' => :'CustomField30',
342
+ :'custom_field4' => :'CustomField4',
343
+ :'custom_field5' => :'CustomField5',
344
+ :'custom_field6' => :'CustomField6',
345
+ :'custom_field7' => :'CustomField7',
346
+ :'custom_field8' => :'CustomField8',
347
+ :'custom_field9' => :'CustomField9',
348
+ :'description' => :'Description',
349
+ :'discount' => :'Discount',
350
+ :'estimated_close_date' => :'EstimatedCloseDate',
351
+ :'external_primary_key' => :'ExternalPrimaryKey',
352
+ :'fee' => :'Fee',
353
+ :'fee_percent' => :'FeePercent',
354
+ :'hourly_rate' => :'HourlyRate',
355
+ :'is_lead' => :'IsLead',
356
+ :'is_on_hold' => :'IsOnHold',
357
+ :'job_title_id' => :'JobTitle_Id',
358
+ :'job_title_name' => :'JobTitle_Name',
359
+ :'job_types' => :'JobTypes',
360
+ :'lead_source_id' => :'LeadSource_Id',
361
+ :'lead_source_name' => :'LeadSource_Name',
362
+ :'margin' => :'Margin',
363
+ :'name' => :'Name',
364
+ :'number_of_openings' => :'NumberOfOpenings',
365
+ :'opportunity_type_id' => :'OpportunityType_Id',
366
+ :'opportunity_type_name' => :'OpportunityType_Name',
367
+ :'parent_job_id' => :'ParentJob_Id',
368
+ :'parent_job_name' => :'ParentJob_Name',
369
+ :'pay_rate' => :'PayRate',
370
+ :'potential_value' => :'PotentialValue',
371
+ :'priority_id' => :'Priority_Id',
372
+ :'priority_name' => :'Priority_Name',
373
+ :'probability' => :'Probability',
374
+ :'salary' => :'Salary',
375
+ :'start_date' => :'StartDate',
376
+ :'tags' => :'Tags',
377
+ :'total_hours' => :'TotalHours',
378
+ :'website_description' => :'Website_Description',
379
+ :'website_description_is_primary' => :'Website_Description_IsPrimary',
380
+ :'website_other' => :'Website_Other',
381
+ :'website_other_is_primary' => :'Website_Other_IsPrimary'
382
+ }
383
+ end
384
+
385
+ # Attribute type mapping.
386
+ def self.swagger_types
387
+ {
388
+ :'additional_contact_billing_id' => :'String',
389
+ :'additional_contact_billing_is_primary' => :'BOOLEAN',
390
+ :'additional_contact_billing_name' => :'String',
391
+ :'additional_contact_executive_sponsor_id' => :'String',
392
+ :'additional_contact_executive_sponsor_is_primary' => :'BOOLEAN',
393
+ :'additional_contact_executive_sponsor_name' => :'String',
394
+ :'additional_contact_hiring_manager_id' => :'String',
395
+ :'additional_contact_hiring_manager_is_primary' => :'BOOLEAN',
396
+ :'additional_contact_hiring_manager_name' => :'String',
397
+ :'additional_contact_internal_recruiter_id' => :'String',
398
+ :'additional_contact_internal_recruiter_is_primary' => :'BOOLEAN',
399
+ :'additional_contact_internal_recruiter_name' => :'String',
400
+ :'additional_contact_other_id' => :'String',
401
+ :'additional_contact_other_is_primary' => :'BOOLEAN',
402
+ :'additional_contact_other_name' => :'String',
403
+ :'attachments' => :'Array<PublicApiAttachmentResponse>',
404
+ :'created_by_id' => :'String',
405
+ :'created_by_name' => :'String',
406
+ :'created_on' => :'DateTime',
407
+ :'expected_value' => :'Float',
408
+ :'external_email_address' => :'String',
409
+ :'id' => :'String',
410
+ :'job_code' => :'String',
411
+ :'last_activity_date' => :'DateTime',
412
+ :'last_engagement_date' => :'DateTime',
413
+ :'modified_by_id' => :'String',
414
+ :'modified_by_name' => :'String',
415
+ :'modified_on' => :'DateTime',
416
+ :'owners' => :'Array<PublicApiRecordOwner>',
417
+ :'status_id' => :'String',
418
+ :'status_name' => :'String',
419
+ :'time_to_close' => :'Float',
420
+ :'actual_value' => :'Float',
421
+ :'additional_contact_client_first_name' => :'String',
422
+ :'additional_contact_client_id' => :'String',
423
+ :'additional_contact_client_is_primary' => :'BOOLEAN',
424
+ :'additional_contact_client_last_name' => :'String',
425
+ :'address_business_city' => :'String',
426
+ :'address_business_country' => :'String',
427
+ :'address_business_is_primary' => :'BOOLEAN',
428
+ :'address_business_line1' => :'String',
429
+ :'address_business_state' => :'String',
430
+ :'address_business_zip_code' => :'String',
431
+ :'address_other_city' => :'String',
432
+ :'address_other_country' => :'String',
433
+ :'address_other_is_primary' => :'BOOLEAN',
434
+ :'address_other_line1' => :'String',
435
+ :'address_other_state' => :'String',
436
+ :'address_other_zip_code' => :'String',
437
+ :'bill_rate' => :'Float',
438
+ :'bonus' => :'Float',
439
+ :'commission' => :'Float',
440
+ :'company_id' => :'String',
441
+ :'company_name' => :'String',
442
+ :'compensation' => :'Float',
443
+ :'compensation_details' => :'String',
444
+ :'custom_field1' => :'String',
445
+ :'custom_field10' => :'String',
446
+ :'custom_field11' => :'Float',
447
+ :'custom_field12' => :'Float',
448
+ :'custom_field13' => :'Float',
449
+ :'custom_field14' => :'Float',
450
+ :'custom_field15' => :'Float',
451
+ :'custom_field16' => :'Float',
452
+ :'custom_field17' => :'Float',
453
+ :'custom_field18' => :'Float',
454
+ :'custom_field19' => :'Float',
455
+ :'custom_field2' => :'String',
456
+ :'custom_field20' => :'Float',
457
+ :'custom_field21' => :'DateTime',
458
+ :'custom_field22' => :'DateTime',
459
+ :'custom_field23' => :'DateTime',
460
+ :'custom_field24' => :'DateTime',
461
+ :'custom_field25' => :'DateTime',
462
+ :'custom_field26' => :'DateTime',
463
+ :'custom_field27' => :'DateTime',
464
+ :'custom_field28' => :'DateTime',
465
+ :'custom_field29' => :'DateTime',
466
+ :'custom_field3' => :'String',
467
+ :'custom_field30' => :'DateTime',
468
+ :'custom_field4' => :'String',
469
+ :'custom_field5' => :'String',
470
+ :'custom_field6' => :'String',
471
+ :'custom_field7' => :'String',
472
+ :'custom_field8' => :'String',
473
+ :'custom_field9' => :'String',
474
+ :'description' => :'String',
475
+ :'discount' => :'Float',
476
+ :'estimated_close_date' => :'DateTime',
477
+ :'external_primary_key' => :'String',
478
+ :'fee' => :'Float',
479
+ :'fee_percent' => :'Float',
480
+ :'hourly_rate' => :'Float',
481
+ :'is_lead' => :'BOOLEAN',
482
+ :'is_on_hold' => :'BOOLEAN',
483
+ :'job_title_id' => :'String',
484
+ :'job_title_name' => :'String',
485
+ :'job_types' => :'Array<PublicApiSaveJobRequestJobType>',
486
+ :'lead_source_id' => :'String',
487
+ :'lead_source_name' => :'String',
488
+ :'margin' => :'Float',
489
+ :'name' => :'String',
490
+ :'number_of_openings' => :'Integer',
491
+ :'opportunity_type_id' => :'String',
492
+ :'opportunity_type_name' => :'String',
493
+ :'parent_job_id' => :'String',
494
+ :'parent_job_name' => :'String',
495
+ :'pay_rate' => :'Float',
496
+ :'potential_value' => :'Float',
497
+ :'priority_id' => :'String',
498
+ :'priority_name' => :'String',
499
+ :'probability' => :'Float',
500
+ :'salary' => :'Float',
501
+ :'start_date' => :'DateTime',
502
+ :'tags' => :'Hash<String, Array<String>>',
503
+ :'total_hours' => :'Float',
504
+ :'website_description' => :'String',
505
+ :'website_description_is_primary' => :'BOOLEAN',
506
+ :'website_other' => :'String',
507
+ :'website_other_is_primary' => :'BOOLEAN'
508
+ }
509
+ end
510
+
511
+ # Initializes the object
512
+ # @param [Hash] attributes Model attributes in the form of hash
513
+ def initialize(attributes = {})
514
+ return unless attributes.is_a?(Hash)
515
+
516
+ # convert string to symbol for hash key
517
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
518
+
519
+ if attributes.has_key?(:'AdditionalContact_Billing_Id')
520
+ self.additional_contact_billing_id = attributes[:'AdditionalContact_Billing_Id']
521
+ end
522
+
523
+ if attributes.has_key?(:'AdditionalContact_Billing_IsPrimary')
524
+ self.additional_contact_billing_is_primary = attributes[:'AdditionalContact_Billing_IsPrimary']
525
+ end
526
+
527
+ if attributes.has_key?(:'AdditionalContact_Billing_Name')
528
+ self.additional_contact_billing_name = attributes[:'AdditionalContact_Billing_Name']
529
+ end
530
+
531
+ if attributes.has_key?(:'AdditionalContact_ExecutiveSponsor_Id')
532
+ self.additional_contact_executive_sponsor_id = attributes[:'AdditionalContact_ExecutiveSponsor_Id']
533
+ end
534
+
535
+ if attributes.has_key?(:'AdditionalContact_ExecutiveSponsor_IsPrimary')
536
+ self.additional_contact_executive_sponsor_is_primary = attributes[:'AdditionalContact_ExecutiveSponsor_IsPrimary']
537
+ end
538
+
539
+ if attributes.has_key?(:'AdditionalContact_ExecutiveSponsor_Name')
540
+ self.additional_contact_executive_sponsor_name = attributes[:'AdditionalContact_ExecutiveSponsor_Name']
541
+ end
542
+
543
+ if attributes.has_key?(:'AdditionalContact_HiringManager_Id')
544
+ self.additional_contact_hiring_manager_id = attributes[:'AdditionalContact_HiringManager_Id']
545
+ end
546
+
547
+ if attributes.has_key?(:'AdditionalContact_HiringManager_IsPrimary')
548
+ self.additional_contact_hiring_manager_is_primary = attributes[:'AdditionalContact_HiringManager_IsPrimary']
549
+ end
550
+
551
+ if attributes.has_key?(:'AdditionalContact_HiringManager_Name')
552
+ self.additional_contact_hiring_manager_name = attributes[:'AdditionalContact_HiringManager_Name']
553
+ end
554
+
555
+ if attributes.has_key?(:'AdditionalContact_InternalRecruiter_Id')
556
+ self.additional_contact_internal_recruiter_id = attributes[:'AdditionalContact_InternalRecruiter_Id']
557
+ end
558
+
559
+ if attributes.has_key?(:'AdditionalContact_InternalRecruiter_IsPrimary')
560
+ self.additional_contact_internal_recruiter_is_primary = attributes[:'AdditionalContact_InternalRecruiter_IsPrimary']
561
+ end
562
+
563
+ if attributes.has_key?(:'AdditionalContact_InternalRecruiter_Name')
564
+ self.additional_contact_internal_recruiter_name = attributes[:'AdditionalContact_InternalRecruiter_Name']
565
+ end
566
+
567
+ if attributes.has_key?(:'AdditionalContact_Other_Id')
568
+ self.additional_contact_other_id = attributes[:'AdditionalContact_Other_Id']
569
+ end
570
+
571
+ if attributes.has_key?(:'AdditionalContact_Other_IsPrimary')
572
+ self.additional_contact_other_is_primary = attributes[:'AdditionalContact_Other_IsPrimary']
573
+ end
574
+
575
+ if attributes.has_key?(:'AdditionalContact_Other_Name')
576
+ self.additional_contact_other_name = attributes[:'AdditionalContact_Other_Name']
577
+ end
578
+
579
+ if attributes.has_key?(:'Attachments')
580
+ if (value = attributes[:'Attachments']).is_a?(Array)
581
+ self.attachments = value
582
+ end
583
+ end
584
+
585
+ if attributes.has_key?(:'CreatedBy_Id')
586
+ self.created_by_id = attributes[:'CreatedBy_Id']
587
+ end
588
+
589
+ if attributes.has_key?(:'CreatedBy_Name')
590
+ self.created_by_name = attributes[:'CreatedBy_Name']
591
+ end
592
+
593
+ if attributes.has_key?(:'CreatedOn')
594
+ self.created_on = attributes[:'CreatedOn']
595
+ end
596
+
597
+ if attributes.has_key?(:'ExpectedValue')
598
+ self.expected_value = attributes[:'ExpectedValue']
599
+ end
600
+
601
+ if attributes.has_key?(:'ExternalEmailAddress')
602
+ self.external_email_address = attributes[:'ExternalEmailAddress']
603
+ end
604
+
605
+ if attributes.has_key?(:'Id')
606
+ self.id = attributes[:'Id']
607
+ end
608
+
609
+ if attributes.has_key?(:'JobCode')
610
+ self.job_code = attributes[:'JobCode']
611
+ end
612
+
613
+ if attributes.has_key?(:'LastActivityDate')
614
+ self.last_activity_date = attributes[:'LastActivityDate']
615
+ end
616
+
617
+ if attributes.has_key?(:'LastEngagementDate')
618
+ self.last_engagement_date = attributes[:'LastEngagementDate']
619
+ end
620
+
621
+ if attributes.has_key?(:'ModifiedBy_Id')
622
+ self.modified_by_id = attributes[:'ModifiedBy_Id']
623
+ end
624
+
625
+ if attributes.has_key?(:'ModifiedBy_Name')
626
+ self.modified_by_name = attributes[:'ModifiedBy_Name']
627
+ end
628
+
629
+ if attributes.has_key?(:'ModifiedOn')
630
+ self.modified_on = attributes[:'ModifiedOn']
631
+ end
632
+
633
+ if attributes.has_key?(:'Owners')
634
+ if (value = attributes[:'Owners']).is_a?(Array)
635
+ self.owners = value
636
+ end
637
+ end
638
+
639
+ if attributes.has_key?(:'Status_Id')
640
+ self.status_id = attributes[:'Status_Id']
641
+ end
642
+
643
+ if attributes.has_key?(:'Status_Name')
644
+ self.status_name = attributes[:'Status_Name']
645
+ end
646
+
647
+ if attributes.has_key?(:'TimeToClose')
648
+ self.time_to_close = attributes[:'TimeToClose']
649
+ end
650
+
651
+ if attributes.has_key?(:'ActualValue')
652
+ self.actual_value = attributes[:'ActualValue']
653
+ end
654
+
655
+ if attributes.has_key?(:'AdditionalContact_Client_FirstName')
656
+ self.additional_contact_client_first_name = attributes[:'AdditionalContact_Client_FirstName']
657
+ end
658
+
659
+ if attributes.has_key?(:'AdditionalContact_Client_Id')
660
+ self.additional_contact_client_id = attributes[:'AdditionalContact_Client_Id']
661
+ end
662
+
663
+ if attributes.has_key?(:'AdditionalContact_Client_IsPrimary')
664
+ self.additional_contact_client_is_primary = attributes[:'AdditionalContact_Client_IsPrimary']
665
+ end
666
+
667
+ if attributes.has_key?(:'AdditionalContact_Client_LastName')
668
+ self.additional_contact_client_last_name = attributes[:'AdditionalContact_Client_LastName']
669
+ end
670
+
671
+ if attributes.has_key?(:'Address_Business_City')
672
+ self.address_business_city = attributes[:'Address_Business_City']
673
+ end
674
+
675
+ if attributes.has_key?(:'Address_Business_Country')
676
+ self.address_business_country = attributes[:'Address_Business_Country']
677
+ end
678
+
679
+ if attributes.has_key?(:'Address_Business_IsPrimary')
680
+ self.address_business_is_primary = attributes[:'Address_Business_IsPrimary']
681
+ end
682
+
683
+ if attributes.has_key?(:'Address_Business_Line1')
684
+ self.address_business_line1 = attributes[:'Address_Business_Line1']
685
+ end
686
+
687
+ if attributes.has_key?(:'Address_Business_State')
688
+ self.address_business_state = attributes[:'Address_Business_State']
689
+ end
690
+
691
+ if attributes.has_key?(:'Address_Business_ZipCode')
692
+ self.address_business_zip_code = attributes[:'Address_Business_ZipCode']
693
+ end
694
+
695
+ if attributes.has_key?(:'Address_Other_City')
696
+ self.address_other_city = attributes[:'Address_Other_City']
697
+ end
698
+
699
+ if attributes.has_key?(:'Address_Other_Country')
700
+ self.address_other_country = attributes[:'Address_Other_Country']
701
+ end
702
+
703
+ if attributes.has_key?(:'Address_Other_IsPrimary')
704
+ self.address_other_is_primary = attributes[:'Address_Other_IsPrimary']
705
+ end
706
+
707
+ if attributes.has_key?(:'Address_Other_Line1')
708
+ self.address_other_line1 = attributes[:'Address_Other_Line1']
709
+ end
710
+
711
+ if attributes.has_key?(:'Address_Other_State')
712
+ self.address_other_state = attributes[:'Address_Other_State']
713
+ end
714
+
715
+ if attributes.has_key?(:'Address_Other_ZipCode')
716
+ self.address_other_zip_code = attributes[:'Address_Other_ZipCode']
717
+ end
718
+
719
+ if attributes.has_key?(:'BillRate')
720
+ self.bill_rate = attributes[:'BillRate']
721
+ end
722
+
723
+ if attributes.has_key?(:'Bonus')
724
+ self.bonus = attributes[:'Bonus']
725
+ end
726
+
727
+ if attributes.has_key?(:'Commission')
728
+ self.commission = attributes[:'Commission']
729
+ end
730
+
731
+ if attributes.has_key?(:'Company_Id')
732
+ self.company_id = attributes[:'Company_Id']
733
+ end
734
+
735
+ if attributes.has_key?(:'Company_Name')
736
+ self.company_name = attributes[:'Company_Name']
737
+ end
738
+
739
+ if attributes.has_key?(:'Compensation')
740
+ self.compensation = attributes[:'Compensation']
741
+ end
742
+
743
+ if attributes.has_key?(:'CompensationDetails')
744
+ self.compensation_details = attributes[:'CompensationDetails']
745
+ end
746
+
747
+ if attributes.has_key?(:'CustomField1')
748
+ self.custom_field1 = attributes[:'CustomField1']
749
+ end
750
+
751
+ if attributes.has_key?(:'CustomField10')
752
+ self.custom_field10 = attributes[:'CustomField10']
753
+ end
754
+
755
+ if attributes.has_key?(:'CustomField11')
756
+ self.custom_field11 = attributes[:'CustomField11']
757
+ end
758
+
759
+ if attributes.has_key?(:'CustomField12')
760
+ self.custom_field12 = attributes[:'CustomField12']
761
+ end
762
+
763
+ if attributes.has_key?(:'CustomField13')
764
+ self.custom_field13 = attributes[:'CustomField13']
765
+ end
766
+
767
+ if attributes.has_key?(:'CustomField14')
768
+ self.custom_field14 = attributes[:'CustomField14']
769
+ end
770
+
771
+ if attributes.has_key?(:'CustomField15')
772
+ self.custom_field15 = attributes[:'CustomField15']
773
+ end
774
+
775
+ if attributes.has_key?(:'CustomField16')
776
+ self.custom_field16 = attributes[:'CustomField16']
777
+ end
778
+
779
+ if attributes.has_key?(:'CustomField17')
780
+ self.custom_field17 = attributes[:'CustomField17']
781
+ end
782
+
783
+ if attributes.has_key?(:'CustomField18')
784
+ self.custom_field18 = attributes[:'CustomField18']
785
+ end
786
+
787
+ if attributes.has_key?(:'CustomField19')
788
+ self.custom_field19 = attributes[:'CustomField19']
789
+ end
790
+
791
+ if attributes.has_key?(:'CustomField2')
792
+ self.custom_field2 = attributes[:'CustomField2']
793
+ end
794
+
795
+ if attributes.has_key?(:'CustomField20')
796
+ self.custom_field20 = attributes[:'CustomField20']
797
+ end
798
+
799
+ if attributes.has_key?(:'CustomField21')
800
+ self.custom_field21 = attributes[:'CustomField21']
801
+ end
802
+
803
+ if attributes.has_key?(:'CustomField22')
804
+ self.custom_field22 = attributes[:'CustomField22']
805
+ end
806
+
807
+ if attributes.has_key?(:'CustomField23')
808
+ self.custom_field23 = attributes[:'CustomField23']
809
+ end
810
+
811
+ if attributes.has_key?(:'CustomField24')
812
+ self.custom_field24 = attributes[:'CustomField24']
813
+ end
814
+
815
+ if attributes.has_key?(:'CustomField25')
816
+ self.custom_field25 = attributes[:'CustomField25']
817
+ end
818
+
819
+ if attributes.has_key?(:'CustomField26')
820
+ self.custom_field26 = attributes[:'CustomField26']
821
+ end
822
+
823
+ if attributes.has_key?(:'CustomField27')
824
+ self.custom_field27 = attributes[:'CustomField27']
825
+ end
826
+
827
+ if attributes.has_key?(:'CustomField28')
828
+ self.custom_field28 = attributes[:'CustomField28']
829
+ end
830
+
831
+ if attributes.has_key?(:'CustomField29')
832
+ self.custom_field29 = attributes[:'CustomField29']
833
+ end
834
+
835
+ if attributes.has_key?(:'CustomField3')
836
+ self.custom_field3 = attributes[:'CustomField3']
837
+ end
838
+
839
+ if attributes.has_key?(:'CustomField30')
840
+ self.custom_field30 = attributes[:'CustomField30']
841
+ end
842
+
843
+ if attributes.has_key?(:'CustomField4')
844
+ self.custom_field4 = attributes[:'CustomField4']
845
+ end
846
+
847
+ if attributes.has_key?(:'CustomField5')
848
+ self.custom_field5 = attributes[:'CustomField5']
849
+ end
850
+
851
+ if attributes.has_key?(:'CustomField6')
852
+ self.custom_field6 = attributes[:'CustomField6']
853
+ end
854
+
855
+ if attributes.has_key?(:'CustomField7')
856
+ self.custom_field7 = attributes[:'CustomField7']
857
+ end
858
+
859
+ if attributes.has_key?(:'CustomField8')
860
+ self.custom_field8 = attributes[:'CustomField8']
861
+ end
862
+
863
+ if attributes.has_key?(:'CustomField9')
864
+ self.custom_field9 = attributes[:'CustomField9']
865
+ end
866
+
867
+ if attributes.has_key?(:'Description')
868
+ self.description = attributes[:'Description']
869
+ end
870
+
871
+ if attributes.has_key?(:'Discount')
872
+ self.discount = attributes[:'Discount']
873
+ end
874
+
875
+ if attributes.has_key?(:'EstimatedCloseDate')
876
+ self.estimated_close_date = attributes[:'EstimatedCloseDate']
877
+ end
878
+
879
+ if attributes.has_key?(:'ExternalPrimaryKey')
880
+ self.external_primary_key = attributes[:'ExternalPrimaryKey']
881
+ end
882
+
883
+ if attributes.has_key?(:'Fee')
884
+ self.fee = attributes[:'Fee']
885
+ end
886
+
887
+ if attributes.has_key?(:'FeePercent')
888
+ self.fee_percent = attributes[:'FeePercent']
889
+ end
890
+
891
+ if attributes.has_key?(:'HourlyRate')
892
+ self.hourly_rate = attributes[:'HourlyRate']
893
+ end
894
+
895
+ if attributes.has_key?(:'IsLead')
896
+ self.is_lead = attributes[:'IsLead']
897
+ end
898
+
899
+ if attributes.has_key?(:'IsOnHold')
900
+ self.is_on_hold = attributes[:'IsOnHold']
901
+ end
902
+
903
+ if attributes.has_key?(:'JobTitle_Id')
904
+ self.job_title_id = attributes[:'JobTitle_Id']
905
+ end
906
+
907
+ if attributes.has_key?(:'JobTitle_Name')
908
+ self.job_title_name = attributes[:'JobTitle_Name']
909
+ end
910
+
911
+ if attributes.has_key?(:'JobTypes')
912
+ if (value = attributes[:'JobTypes']).is_a?(Array)
913
+ self.job_types = value
914
+ end
915
+ end
916
+
917
+ if attributes.has_key?(:'LeadSource_Id')
918
+ self.lead_source_id = attributes[:'LeadSource_Id']
919
+ end
920
+
921
+ if attributes.has_key?(:'LeadSource_Name')
922
+ self.lead_source_name = attributes[:'LeadSource_Name']
923
+ end
924
+
925
+ if attributes.has_key?(:'Margin')
926
+ self.margin = attributes[:'Margin']
927
+ end
928
+
929
+ if attributes.has_key?(:'Name')
930
+ self.name = attributes[:'Name']
931
+ end
932
+
933
+ if attributes.has_key?(:'NumberOfOpenings')
934
+ self.number_of_openings = attributes[:'NumberOfOpenings']
935
+ end
936
+
937
+ if attributes.has_key?(:'OpportunityType_Id')
938
+ self.opportunity_type_id = attributes[:'OpportunityType_Id']
939
+ end
940
+
941
+ if attributes.has_key?(:'OpportunityType_Name')
942
+ self.opportunity_type_name = attributes[:'OpportunityType_Name']
943
+ end
944
+
945
+ if attributes.has_key?(:'ParentJob_Id')
946
+ self.parent_job_id = attributes[:'ParentJob_Id']
947
+ end
948
+
949
+ if attributes.has_key?(:'ParentJob_Name')
950
+ self.parent_job_name = attributes[:'ParentJob_Name']
951
+ end
952
+
953
+ if attributes.has_key?(:'PayRate')
954
+ self.pay_rate = attributes[:'PayRate']
955
+ end
956
+
957
+ if attributes.has_key?(:'PotentialValue')
958
+ self.potential_value = attributes[:'PotentialValue']
959
+ end
960
+
961
+ if attributes.has_key?(:'Priority_Id')
962
+ self.priority_id = attributes[:'Priority_Id']
963
+ end
964
+
965
+ if attributes.has_key?(:'Priority_Name')
966
+ self.priority_name = attributes[:'Priority_Name']
967
+ end
968
+
969
+ if attributes.has_key?(:'Probability')
970
+ self.probability = attributes[:'Probability']
971
+ end
972
+
973
+ if attributes.has_key?(:'Salary')
974
+ self.salary = attributes[:'Salary']
975
+ end
976
+
977
+ if attributes.has_key?(:'StartDate')
978
+ self.start_date = attributes[:'StartDate']
979
+ end
980
+
981
+ if attributes.has_key?(:'Tags')
982
+ if (value = attributes[:'Tags']).is_a?(Hash)
983
+ self.tags = value
984
+ end
985
+ end
986
+
987
+ if attributes.has_key?(:'TotalHours')
988
+ self.total_hours = attributes[:'TotalHours']
989
+ end
990
+
991
+ if attributes.has_key?(:'Website_Description')
992
+ self.website_description = attributes[:'Website_Description']
993
+ end
994
+
995
+ if attributes.has_key?(:'Website_Description_IsPrimary')
996
+ self.website_description_is_primary = attributes[:'Website_Description_IsPrimary']
997
+ end
998
+
999
+ if attributes.has_key?(:'Website_Other')
1000
+ self.website_other = attributes[:'Website_Other']
1001
+ end
1002
+
1003
+ if attributes.has_key?(:'Website_Other_IsPrimary')
1004
+ self.website_other_is_primary = attributes[:'Website_Other_IsPrimary']
1005
+ end
1006
+
1007
+ end
1008
+
1009
+ # Show invalid properties with the reasons. Usually used together with valid?
1010
+ # @return Array for valid properties with the reasons
1011
+ def list_invalid_properties
1012
+ invalid_properties = Array.new
1013
+ return invalid_properties
1014
+ end
1015
+
1016
+ # Check to see if the all the properties in the model are valid
1017
+ # @return true if the model is valid
1018
+ def valid?
1019
+ return true
1020
+ end
1021
+
1022
+ # Checks equality by comparing each attribute.
1023
+ # @param [Object] Object to be compared
1024
+ def ==(o)
1025
+ return true if self.equal?(o)
1026
+ self.class == o.class &&
1027
+ additional_contact_billing_id == o.additional_contact_billing_id &&
1028
+ additional_contact_billing_is_primary == o.additional_contact_billing_is_primary &&
1029
+ additional_contact_billing_name == o.additional_contact_billing_name &&
1030
+ additional_contact_executive_sponsor_id == o.additional_contact_executive_sponsor_id &&
1031
+ additional_contact_executive_sponsor_is_primary == o.additional_contact_executive_sponsor_is_primary &&
1032
+ additional_contact_executive_sponsor_name == o.additional_contact_executive_sponsor_name &&
1033
+ additional_contact_hiring_manager_id == o.additional_contact_hiring_manager_id &&
1034
+ additional_contact_hiring_manager_is_primary == o.additional_contact_hiring_manager_is_primary &&
1035
+ additional_contact_hiring_manager_name == o.additional_contact_hiring_manager_name &&
1036
+ additional_contact_internal_recruiter_id == o.additional_contact_internal_recruiter_id &&
1037
+ additional_contact_internal_recruiter_is_primary == o.additional_contact_internal_recruiter_is_primary &&
1038
+ additional_contact_internal_recruiter_name == o.additional_contact_internal_recruiter_name &&
1039
+ additional_contact_other_id == o.additional_contact_other_id &&
1040
+ additional_contact_other_is_primary == o.additional_contact_other_is_primary &&
1041
+ additional_contact_other_name == o.additional_contact_other_name &&
1042
+ attachments == o.attachments &&
1043
+ created_by_id == o.created_by_id &&
1044
+ created_by_name == o.created_by_name &&
1045
+ created_on == o.created_on &&
1046
+ expected_value == o.expected_value &&
1047
+ external_email_address == o.external_email_address &&
1048
+ id == o.id &&
1049
+ job_code == o.job_code &&
1050
+ last_activity_date == o.last_activity_date &&
1051
+ last_engagement_date == o.last_engagement_date &&
1052
+ modified_by_id == o.modified_by_id &&
1053
+ modified_by_name == o.modified_by_name &&
1054
+ modified_on == o.modified_on &&
1055
+ owners == o.owners &&
1056
+ status_id == o.status_id &&
1057
+ status_name == o.status_name &&
1058
+ time_to_close == o.time_to_close &&
1059
+ actual_value == o.actual_value &&
1060
+ additional_contact_client_first_name == o.additional_contact_client_first_name &&
1061
+ additional_contact_client_id == o.additional_contact_client_id &&
1062
+ additional_contact_client_is_primary == o.additional_contact_client_is_primary &&
1063
+ additional_contact_client_last_name == o.additional_contact_client_last_name &&
1064
+ address_business_city == o.address_business_city &&
1065
+ address_business_country == o.address_business_country &&
1066
+ address_business_is_primary == o.address_business_is_primary &&
1067
+ address_business_line1 == o.address_business_line1 &&
1068
+ address_business_state == o.address_business_state &&
1069
+ address_business_zip_code == o.address_business_zip_code &&
1070
+ address_other_city == o.address_other_city &&
1071
+ address_other_country == o.address_other_country &&
1072
+ address_other_is_primary == o.address_other_is_primary &&
1073
+ address_other_line1 == o.address_other_line1 &&
1074
+ address_other_state == o.address_other_state &&
1075
+ address_other_zip_code == o.address_other_zip_code &&
1076
+ bill_rate == o.bill_rate &&
1077
+ bonus == o.bonus &&
1078
+ commission == o.commission &&
1079
+ company_id == o.company_id &&
1080
+ company_name == o.company_name &&
1081
+ compensation == o.compensation &&
1082
+ compensation_details == o.compensation_details &&
1083
+ custom_field1 == o.custom_field1 &&
1084
+ custom_field10 == o.custom_field10 &&
1085
+ custom_field11 == o.custom_field11 &&
1086
+ custom_field12 == o.custom_field12 &&
1087
+ custom_field13 == o.custom_field13 &&
1088
+ custom_field14 == o.custom_field14 &&
1089
+ custom_field15 == o.custom_field15 &&
1090
+ custom_field16 == o.custom_field16 &&
1091
+ custom_field17 == o.custom_field17 &&
1092
+ custom_field18 == o.custom_field18 &&
1093
+ custom_field19 == o.custom_field19 &&
1094
+ custom_field2 == o.custom_field2 &&
1095
+ custom_field20 == o.custom_field20 &&
1096
+ custom_field21 == o.custom_field21 &&
1097
+ custom_field22 == o.custom_field22 &&
1098
+ custom_field23 == o.custom_field23 &&
1099
+ custom_field24 == o.custom_field24 &&
1100
+ custom_field25 == o.custom_field25 &&
1101
+ custom_field26 == o.custom_field26 &&
1102
+ custom_field27 == o.custom_field27 &&
1103
+ custom_field28 == o.custom_field28 &&
1104
+ custom_field29 == o.custom_field29 &&
1105
+ custom_field3 == o.custom_field3 &&
1106
+ custom_field30 == o.custom_field30 &&
1107
+ custom_field4 == o.custom_field4 &&
1108
+ custom_field5 == o.custom_field5 &&
1109
+ custom_field6 == o.custom_field6 &&
1110
+ custom_field7 == o.custom_field7 &&
1111
+ custom_field8 == o.custom_field8 &&
1112
+ custom_field9 == o.custom_field9 &&
1113
+ description == o.description &&
1114
+ discount == o.discount &&
1115
+ estimated_close_date == o.estimated_close_date &&
1116
+ external_primary_key == o.external_primary_key &&
1117
+ fee == o.fee &&
1118
+ fee_percent == o.fee_percent &&
1119
+ hourly_rate == o.hourly_rate &&
1120
+ is_lead == o.is_lead &&
1121
+ is_on_hold == o.is_on_hold &&
1122
+ job_title_id == o.job_title_id &&
1123
+ job_title_name == o.job_title_name &&
1124
+ job_types == o.job_types &&
1125
+ lead_source_id == o.lead_source_id &&
1126
+ lead_source_name == o.lead_source_name &&
1127
+ margin == o.margin &&
1128
+ name == o.name &&
1129
+ number_of_openings == o.number_of_openings &&
1130
+ opportunity_type_id == o.opportunity_type_id &&
1131
+ opportunity_type_name == o.opportunity_type_name &&
1132
+ parent_job_id == o.parent_job_id &&
1133
+ parent_job_name == o.parent_job_name &&
1134
+ pay_rate == o.pay_rate &&
1135
+ potential_value == o.potential_value &&
1136
+ priority_id == o.priority_id &&
1137
+ priority_name == o.priority_name &&
1138
+ probability == o.probability &&
1139
+ salary == o.salary &&
1140
+ start_date == o.start_date &&
1141
+ tags == o.tags &&
1142
+ total_hours == o.total_hours &&
1143
+ website_description == o.website_description &&
1144
+ website_description_is_primary == o.website_description_is_primary &&
1145
+ website_other == o.website_other &&
1146
+ website_other_is_primary == o.website_other_is_primary
1147
+ end
1148
+
1149
+ # @see the `==` method
1150
+ # @param [Object] Object to be compared
1151
+ def eql?(o)
1152
+ self == o
1153
+ end
1154
+
1155
+ # Calculates hash code according to all attributes.
1156
+ # @return [Fixnum] Hash code
1157
+ def hash
1158
+ [additional_contact_billing_id, additional_contact_billing_is_primary, additional_contact_billing_name, additional_contact_executive_sponsor_id, additional_contact_executive_sponsor_is_primary, additional_contact_executive_sponsor_name, additional_contact_hiring_manager_id, additional_contact_hiring_manager_is_primary, additional_contact_hiring_manager_name, additional_contact_internal_recruiter_id, additional_contact_internal_recruiter_is_primary, additional_contact_internal_recruiter_name, additional_contact_other_id, additional_contact_other_is_primary, additional_contact_other_name, attachments, created_by_id, created_by_name, created_on, expected_value, external_email_address, id, job_code, last_activity_date, last_engagement_date, modified_by_id, modified_by_name, modified_on, owners, status_id, status_name, time_to_close, actual_value, additional_contact_client_first_name, additional_contact_client_id, additional_contact_client_is_primary, additional_contact_client_last_name, address_business_city, address_business_country, address_business_is_primary, address_business_line1, address_business_state, address_business_zip_code, address_other_city, address_other_country, address_other_is_primary, address_other_line1, address_other_state, address_other_zip_code, bill_rate, bonus, commission, company_id, company_name, compensation, compensation_details, custom_field1, custom_field10, custom_field11, custom_field12, custom_field13, custom_field14, custom_field15, custom_field16, custom_field17, custom_field18, custom_field19, custom_field2, custom_field20, custom_field21, custom_field22, custom_field23, custom_field24, custom_field25, custom_field26, custom_field27, custom_field28, custom_field29, custom_field3, custom_field30, custom_field4, custom_field5, custom_field6, custom_field7, custom_field8, custom_field9, description, discount, estimated_close_date, external_primary_key, fee, fee_percent, hourly_rate, is_lead, is_on_hold, job_title_id, job_title_name, job_types, lead_source_id, lead_source_name, margin, name, number_of_openings, opportunity_type_id, opportunity_type_name, parent_job_id, parent_job_name, pay_rate, potential_value, priority_id, priority_name, probability, salary, start_date, tags, total_hours, website_description, website_description_is_primary, website_other, website_other_is_primary].hash
1159
+ end
1160
+
1161
+ # Builds the object from hash
1162
+ # @param [Hash] attributes Model attributes in the form of hash
1163
+ # @return [Object] Returns the model itself
1164
+ def build_from_hash(attributes)
1165
+ return nil unless attributes.is_a?(Hash)
1166
+ self.class.swagger_types.each_pair do |key, type|
1167
+ if type =~ /\AArray<(.*)>/i
1168
+ # check to ensure the input is an array given that the the attribute
1169
+ # is documented as an array but the input is not
1170
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1171
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
1172
+ end
1173
+ elsif !attributes[self.class.attribute_map[key]].nil?
1174
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1175
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
1176
+ end
1177
+
1178
+ self
1179
+ end
1180
+
1181
+ # Deserializes the data based on type
1182
+ # @param string type Data type
1183
+ # @param string value Value to be deserialized
1184
+ # @return [Object] Deserialized data
1185
+ def _deserialize(type, value)
1186
+ case type.to_sym
1187
+ when :DateTime
1188
+ DateTime.parse(value)
1189
+ when :Date
1190
+ Date.parse(value)
1191
+ when :String
1192
+ value.to_s
1193
+ when :Integer
1194
+ value.to_i
1195
+ when :Float
1196
+ value.to_f
1197
+ when :BOOLEAN
1198
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1199
+ true
1200
+ else
1201
+ false
1202
+ end
1203
+ when :Object
1204
+ # generic object (usually a Hash), return directly
1205
+ value
1206
+ when /\AArray<(?<inner_type>.+)>\z/
1207
+ inner_type = Regexp.last_match[:inner_type]
1208
+ value.map { |v| _deserialize(inner_type, v) }
1209
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
1210
+ k_type = Regexp.last_match[:k_type]
1211
+ v_type = Regexp.last_match[:v_type]
1212
+ {}.tap do |hash|
1213
+ value.each do |k, v|
1214
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1215
+ end
1216
+ end
1217
+ else # model
1218
+ temp_model = CrelateClient.const_get(type).new
1219
+ temp_model.build_from_hash(value)
1220
+ end
1221
+ end
1222
+
1223
+ # Returns the string representation of the object
1224
+ # @return [String] String presentation of the object
1225
+ def to_s
1226
+ to_hash.to_s
1227
+ end
1228
+
1229
+ # to_body is an alias to to_hash (backward compatibility)
1230
+ # @return [Hash] Returns the object in the form of hash
1231
+ def to_body
1232
+ to_hash
1233
+ end
1234
+
1235
+ # Returns the object in the form of hash
1236
+ # @return [Hash] Returns the object in the form of hash
1237
+ def to_hash
1238
+ hash = {}
1239
+ self.class.attribute_map.each_pair do |attr, param|
1240
+ value = self.send(attr)
1241
+ next if value.nil?
1242
+ hash[param] = _to_hash(value)
1243
+ end
1244
+ hash
1245
+ end
1246
+
1247
+ # Outputs non-array value in the form of hash
1248
+ # For object, use to_hash. Otherwise, just return the value
1249
+ # @param [Object] value Any valid value
1250
+ # @return [Hash] Returns the value in the form of hash
1251
+ def _to_hash(value)
1252
+ if value.is_a?(Array)
1253
+ value.compact.map{ |v| _to_hash(v) }
1254
+ elsif value.is_a?(Hash)
1255
+ {}.tap do |hash|
1256
+ value.each { |k, v| hash[k] = _to_hash(v) }
1257
+ end
1258
+ elsif value.respond_to? :to_hash
1259
+ value.to_hash
1260
+ else
1261
+ value
1262
+ end
1263
+ end
1264
+
1265
+ end
1266
+
1267
+ end