hubspot-api-client 17.1.1 → 17.2.0

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 (296) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -1
  3. data/Gemfile.lock +1 -1
  4. data/lib/hubspot/codegen/cms/pages/api/landing_pages_api.rb +2754 -0
  5. data/lib/hubspot/codegen/cms/pages/api/site_pages_api.rb +1896 -0
  6. data/lib/hubspot/codegen/cms/pages/api_client.rb +410 -0
  7. data/lib/hubspot/codegen/cms/pages/api_error.rb +61 -0
  8. data/lib/hubspot/codegen/cms/pages/configuration.rb +287 -0
  9. data/lib/hubspot/codegen/cms/pages/models/ab_test_create_request_v_next.rb +244 -0
  10. data/lib/hubspot/codegen/cms/pages/models/ab_test_end_request_v_next.rb +244 -0
  11. data/lib/hubspot/codegen/cms/pages/models/ab_test_rerun_request_v_next.rb +244 -0
  12. data/lib/hubspot/codegen/cms/pages/models/angle.rb +244 -0
  13. data/lib/hubspot/codegen/cms/pages/models/attach_to_lang_primary_request_v_next.rb +269 -0
  14. data/lib/hubspot/codegen/cms/pages/models/background_image.rb +259 -0
  15. data/lib/hubspot/codegen/cms/pages/models/batch_input_content_folder.rb +231 -0
  16. data/lib/hubspot/codegen/cms/pages/models/batch_input_json_node.rb +231 -0
  17. data/lib/hubspot/codegen/cms/pages/models/batch_input_page.rb +231 -0
  18. data/lib/hubspot/codegen/cms/pages/models/batch_input_string.rb +231 -0
  19. data/lib/hubspot/codegen/cms/pages/models/batch_response_content_folder.rb +326 -0
  20. data/lib/hubspot/codegen/cms/pages/models/batch_response_content_folder_with_errors.rb +354 -0
  21. data/lib/hubspot/codegen/cms/pages/models/batch_response_page.rb +326 -0
  22. data/lib/hubspot/codegen/cms/pages/models/batch_response_page_with_errors.rb +354 -0
  23. data/lib/hubspot/codegen/cms/pages/models/collection_response_with_total_content_folder_forward_paging.rb +255 -0
  24. data/lib/hubspot/codegen/cms/pages/models/collection_response_with_total_page_forward_paging.rb +255 -0
  25. data/lib/hubspot/codegen/cms/pages/models/collection_response_with_total_version_content_folder.rb +255 -0
  26. data/lib/hubspot/codegen/cms/pages/models/collection_response_with_total_version_page.rb +255 -0
  27. data/lib/hubspot/codegen/cms/pages/models/color_stop.rb +228 -0
  28. data/lib/hubspot/codegen/cms/pages/models/content_clone_request_v_next.rb +239 -0
  29. data/lib/hubspot/codegen/cms/pages/models/content_folder.rb +317 -0
  30. data/lib/hubspot/codegen/cms/pages/models/content_language_clone_request_v_next.rb +249 -0
  31. data/lib/hubspot/codegen/cms/pages/models/content_language_variation.rb +409 -0
  32. data/lib/hubspot/codegen/cms/pages/models/content_schedule_request_v_next.rb +244 -0
  33. data/lib/hubspot/codegen/cms/pages/models/detach_from_lang_group_request_v_next.rb +229 -0
  34. data/lib/hubspot/codegen/cms/pages/models/error.rb +305 -0
  35. data/lib/hubspot/codegen/cms/pages/models/error_detail.rb +271 -0
  36. data/lib/hubspot/codegen/cms/pages/models/forward_paging.rb +223 -0
  37. data/lib/hubspot/codegen/cms/pages/models/gradient.rb +259 -0
  38. data/lib/hubspot/codegen/cms/pages/models/layout_section.rb +416 -0
  39. data/lib/hubspot/codegen/cms/pages/models/next_page.rb +239 -0
  40. data/lib/hubspot/codegen/cms/pages/models/page.rb +1165 -0
  41. data/lib/hubspot/codegen/cms/pages/models/paging.rb +232 -0
  42. data/lib/hubspot/codegen/cms/pages/models/previous_page.rb +239 -0
  43. data/lib/hubspot/codegen/cms/pages/models/rgba_color.rb +274 -0
  44. data/lib/hubspot/codegen/cms/pages/models/row_meta_data.rb +243 -0
  45. data/lib/hubspot/codegen/cms/pages/models/set_new_language_primary_request_v_next.rb +229 -0
  46. data/lib/hubspot/codegen/cms/pages/models/side_or_corner.rb +244 -0
  47. data/lib/hubspot/codegen/cms/pages/models/standard_error.rb +330 -0
  48. data/lib/hubspot/codegen/cms/pages/models/styles.rb +316 -0
  49. data/lib/hubspot/codegen/cms/pages/models/update_languages_request_v_next.rb +246 -0
  50. data/lib/hubspot/codegen/cms/pages/models/version_content_folder.rb +271 -0
  51. data/lib/hubspot/codegen/cms/pages/models/version_page.rb +271 -0
  52. data/lib/hubspot/codegen/cms/pages/models/version_user.rb +259 -0
  53. data/lib/hubspot/codegen/crm/lists/api/lists_api.rb +635 -0
  54. data/lib/hubspot/codegen/crm/lists/api/memberships_api.rb +452 -0
  55. data/lib/hubspot/codegen/crm/lists/api_client.rb +410 -0
  56. data/lib/hubspot/codegen/crm/lists/api_error.rb +61 -0
  57. data/lib/hubspot/codegen/crm/lists/configuration.rb +287 -0
  58. data/lib/hubspot/codegen/crm/lists/models/collection_response_long.rb +240 -0
  59. data/lib/hubspot/codegen/crm/lists/models/error.rb +305 -0
  60. data/lib/hubspot/codegen/crm/lists/models/error_detail.rb +271 -0
  61. data/lib/hubspot/codegen/crm/lists/models/list_create_request.rb +278 -0
  62. data/lib/hubspot/codegen/crm/lists/models/list_create_response.rb +228 -0
  63. data/lib/hubspot/codegen/crm/lists/models/list_fetch_response.rb +228 -0
  64. data/lib/hubspot/codegen/crm/lists/models/list_filter_update_request.rb +228 -0
  65. data/lib/hubspot/codegen/crm/lists/models/list_search_request.rb +266 -0
  66. data/lib/hubspot/codegen/crm/lists/models/list_search_response.rb +276 -0
  67. data/lib/hubspot/codegen/crm/lists/models/list_update_response.rb +223 -0
  68. data/lib/hubspot/codegen/crm/lists/models/lists_by_id_response.rb +231 -0
  69. data/lib/hubspot/codegen/crm/lists/models/membership_change_request.rb +248 -0
  70. data/lib/hubspot/codegen/crm/lists/models/memberships_update_response.rb +264 -0
  71. data/lib/hubspot/codegen/crm/lists/models/next_page.rb +239 -0
  72. data/lib/hubspot/codegen/crm/lists/models/paging.rb +232 -0
  73. data/lib/hubspot/codegen/crm/lists/models/previous_page.rb +239 -0
  74. data/lib/hubspot/codegen/crm/lists/models/public_absolute_comparative_timestamp_refine_by.rb +292 -0
  75. data/lib/hubspot/codegen/crm/lists/models/public_absolute_ranged_timestamp_refine_by.rb +306 -0
  76. data/lib/hubspot/codegen/crm/lists/models/public_ads_search_filter.rb +336 -0
  77. data/lib/hubspot/codegen/crm/lists/models/public_ads_time_filter.rb +278 -0
  78. data/lib/hubspot/codegen/crm/lists/models/public_all_history_refine_by.rb +264 -0
  79. data/lib/hubspot/codegen/crm/lists/models/public_all_property_types_operation.rb +292 -0
  80. data/lib/hubspot/codegen/crm/lists/models/public_and_filter_branch.rb +310 -0
  81. data/lib/hubspot/codegen/crm/lists/models/public_association_filter_branch.rb +366 -0
  82. data/lib/hubspot/codegen/crm/lists/models/public_association_in_list_filter.rb +352 -0
  83. data/lib/hubspot/codegen/crm/lists/models/public_bool_property_operation.rb +306 -0
  84. data/lib/hubspot/codegen/crm/lists/models/public_calendar_date_property_operation.rb +345 -0
  85. data/lib/hubspot/codegen/crm/lists/models/public_campaign_influenced_filter.rb +278 -0
  86. data/lib/hubspot/codegen/crm/lists/models/public_communication_subscription_filter.rb +333 -0
  87. data/lib/hubspot/codegen/crm/lists/models/public_comparative_date_property_operation.rb +315 -0
  88. data/lib/hubspot/codegen/crm/lists/models/public_comparative_property_updated_operation.rb +315 -0
  89. data/lib/hubspot/codegen/crm/lists/models/public_constant_filter.rb +287 -0
  90. data/lib/hubspot/codegen/crm/lists/models/public_cta_analytics_filter.rb +310 -0
  91. data/lib/hubspot/codegen/crm/lists/models/public_date_point.rb +365 -0
  92. data/lib/hubspot/codegen/crm/lists/models/public_date_property_operation.rb +334 -0
  93. data/lib/hubspot/codegen/crm/lists/models/public_date_time_property_operation.rb +320 -0
  94. data/lib/hubspot/codegen/crm/lists/models/public_email_event_filter.rb +350 -0
  95. data/lib/hubspot/codegen/crm/lists/models/public_email_subscription_filter.rb +305 -0
  96. data/lib/hubspot/codegen/crm/lists/models/public_enumeration_property_operation.rb +308 -0
  97. data/lib/hubspot/codegen/crm/lists/models/public_event_analytics_filter.rb +310 -0
  98. data/lib/hubspot/codegen/crm/lists/models/public_event_analytics_filter_coalescing_refine_by.rb +115 -0
  99. data/lib/hubspot/codegen/crm/lists/models/public_event_filter_metadata.rb +242 -0
  100. data/lib/hubspot/codegen/crm/lists/models/public_fiscal_quarter_reference.rb +328 -0
  101. data/lib/hubspot/codegen/crm/lists/models/public_fiscal_year_reference.rb +328 -0
  102. data/lib/hubspot/codegen/crm/lists/models/public_form_submission_filter.rb +317 -0
  103. data/lib/hubspot/codegen/crm/lists/models/public_form_submission_on_page_filter.rb +331 -0
  104. data/lib/hubspot/codegen/crm/lists/models/public_in_list_filter.rb +301 -0
  105. data/lib/hubspot/codegen/crm/lists/models/public_in_list_filter_metadata.rb +242 -0
  106. data/lib/hubspot/codegen/crm/lists/models/public_index_offset.rb +295 -0
  107. data/lib/hubspot/codegen/crm/lists/models/public_indexed_time_point.rb +310 -0
  108. data/lib/hubspot/codegen/crm/lists/models/public_indexed_time_point_index_reference.rb +114 -0
  109. data/lib/hubspot/codegen/crm/lists/models/public_integration_event_filter.rb +294 -0
  110. data/lib/hubspot/codegen/crm/lists/models/public_month_reference.rb +314 -0
  111. data/lib/hubspot/codegen/crm/lists/models/public_multi_string_property_operation.rb +308 -0
  112. data/lib/hubspot/codegen/crm/lists/models/public_not_all_filter_branch.rb +310 -0
  113. data/lib/hubspot/codegen/crm/lists/models/public_not_any_filter_branch.rb +310 -0
  114. data/lib/hubspot/codegen/crm/lists/models/public_now_reference.rb +300 -0
  115. data/lib/hubspot/codegen/crm/lists/models/public_num_associations_filter.rb +306 -0
  116. data/lib/hubspot/codegen/crm/lists/models/public_num_occurrences_refine_by.rb +282 -0
  117. data/lib/hubspot/codegen/crm/lists/models/public_number_property_operation.rb +306 -0
  118. data/lib/hubspot/codegen/crm/lists/models/public_object_list.rb +373 -0
  119. data/lib/hubspot/codegen/crm/lists/models/public_object_list_search_result.rb +381 -0
  120. data/lib/hubspot/codegen/crm/lists/models/public_or_filter_branch.rb +310 -0
  121. data/lib/hubspot/codegen/crm/lists/models/public_page_view_analytics_filter.rb +319 -0
  122. data/lib/hubspot/codegen/crm/lists/models/public_privacy_analytics_filter.rb +292 -0
  123. data/lib/hubspot/codegen/crm/lists/models/public_property_association_filter_branch.rb +352 -0
  124. data/lib/hubspot/codegen/crm/lists/models/public_property_association_filter_branch_filter_branches_inner.rb +114 -0
  125. data/lib/hubspot/codegen/crm/lists/models/public_property_association_filter_branch_filters_inner.rb +130 -0
  126. data/lib/hubspot/codegen/crm/lists/models/public_property_association_in_list_filter.rb +329 -0
  127. data/lib/hubspot/codegen/crm/lists/models/public_property_filter.rb +292 -0
  128. data/lib/hubspot/codegen/crm/lists/models/public_property_filter_operation.rb +123 -0
  129. data/lib/hubspot/codegen/crm/lists/models/public_property_referenced_time.rb +315 -0
  130. data/lib/hubspot/codegen/crm/lists/models/public_quarter_reference.rb +328 -0
  131. data/lib/hubspot/codegen/crm/lists/models/public_ranged_date_property_operation.rb +334 -0
  132. data/lib/hubspot/codegen/crm/lists/models/public_ranged_number_property_operation.rb +320 -0
  133. data/lib/hubspot/codegen/crm/lists/models/public_ranged_time_operation.rb +361 -0
  134. data/lib/hubspot/codegen/crm/lists/models/public_relative_comparative_timestamp_refine_by.rb +292 -0
  135. data/lib/hubspot/codegen/crm/lists/models/public_relative_ranged_timestamp_refine_by.rb +306 -0
  136. data/lib/hubspot/codegen/crm/lists/models/public_restricted_filter_branch.rb +310 -0
  137. data/lib/hubspot/codegen/crm/lists/models/public_rolling_date_range_property_operation.rb +320 -0
  138. data/lib/hubspot/codegen/crm/lists/models/public_rolling_property_updated_operation.rb +306 -0
  139. data/lib/hubspot/codegen/crm/lists/models/public_set_occurrences_refine_by.rb +278 -0
  140. data/lib/hubspot/codegen/crm/lists/models/public_string_property_operation.rb +306 -0
  141. data/lib/hubspot/codegen/crm/lists/models/public_survey_monkey_filter.rb +292 -0
  142. data/lib/hubspot/codegen/crm/lists/models/public_survey_monkey_value_filter.rb +338 -0
  143. data/lib/hubspot/codegen/crm/lists/models/public_time_offset.rb +256 -0
  144. data/lib/hubspot/codegen/crm/lists/models/public_time_point_operation.rb +338 -0
  145. data/lib/hubspot/codegen/crm/lists/models/public_time_point_operation_time_point.rb +109 -0
  146. data/lib/hubspot/codegen/crm/lists/models/public_today_reference.rb +300 -0
  147. data/lib/hubspot/codegen/crm/lists/models/public_unified_events_filter.rb +307 -0
  148. data/lib/hubspot/codegen/crm/lists/models/public_unified_events_filter_branch.rb +350 -0
  149. data/lib/hubspot/codegen/crm/lists/models/public_unified_events_in_list_filter.rb +310 -0
  150. data/lib/hubspot/codegen/crm/lists/models/public_webinar_filter.rb +287 -0
  151. data/lib/hubspot/codegen/crm/lists/models/public_week_reference.rb +326 -0
  152. data/lib/hubspot/codegen/crm/lists/models/public_year_reference.rb +328 -0
  153. data/lib/hubspot/codegen/crm/objects/goals/api/basic_api.rb +391 -0
  154. data/lib/hubspot/codegen/crm/objects/goals/api/batch_api.rb +295 -0
  155. data/lib/hubspot/codegen/crm/objects/goals/api/gdpr_api.rb +96 -0
  156. data/lib/hubspot/codegen/crm/objects/goals/api/public_object_api.rb +94 -0
  157. data/lib/hubspot/codegen/crm/objects/goals/api/search_api.rb +92 -0
  158. data/lib/hubspot/codegen/crm/objects/goals/api_client.rb +412 -0
  159. data/lib/hubspot/codegen/crm/objects/goals/api_error.rb +63 -0
  160. data/lib/hubspot/codegen/crm/objects/goals/configuration.rb +289 -0
  161. data/lib/hubspot/codegen/crm/objects/goals/models/associated_id.rb +244 -0
  162. data/lib/hubspot/codegen/crm/objects/goals/models/association_spec.rb +278 -0
  163. data/lib/hubspot/codegen/crm/objects/goals/models/batch_input_simple_public_object_batch_input.rb +232 -0
  164. data/lib/hubspot/codegen/crm/objects/goals/models/batch_input_simple_public_object_id.rb +232 -0
  165. data/lib/hubspot/codegen/crm/objects/goals/models/batch_input_simple_public_object_input_for_create.rb +232 -0
  166. data/lib/hubspot/codegen/crm/objects/goals/models/batch_read_input_simple_public_object_id.rb +273 -0
  167. data/lib/hubspot/codegen/crm/objects/goals/models/batch_response_simple_public_object.rb +328 -0
  168. data/lib/hubspot/codegen/crm/objects/goals/models/batch_response_simple_public_object_with_errors.rb +348 -0
  169. data/lib/hubspot/codegen/crm/objects/goals/models/collection_response_associated_id.rb +241 -0
  170. data/lib/hubspot/codegen/crm/objects/goals/models/collection_response_simple_public_object_with_associations_forward_paging.rb +241 -0
  171. data/lib/hubspot/codegen/crm/objects/goals/models/collection_response_with_total_simple_public_object_forward_paging.rb +255 -0
  172. data/lib/hubspot/codegen/crm/objects/goals/models/error.rb +307 -0
  173. data/lib/hubspot/codegen/crm/objects/goals/models/error_detail.rb +273 -0
  174. data/lib/hubspot/codegen/crm/objects/goals/models/filter.rb +308 -0
  175. data/lib/hubspot/codegen/crm/objects/goals/models/filter_group.rb +232 -0
  176. data/lib/hubspot/codegen/crm/objects/goals/models/forward_paging.rb +225 -0
  177. data/lib/hubspot/codegen/crm/objects/goals/models/next_page.rb +239 -0
  178. data/lib/hubspot/codegen/crm/objects/goals/models/paging.rb +234 -0
  179. data/lib/hubspot/codegen/crm/objects/goals/models/previous_page.rb +239 -0
  180. data/lib/hubspot/codegen/crm/objects/goals/models/public_associations_for_object.rb +246 -0
  181. data/lib/hubspot/codegen/crm/objects/goals/models/public_gdpr_delete_input.rb +239 -0
  182. data/lib/hubspot/codegen/crm/objects/goals/models/public_merge_input.rb +244 -0
  183. data/lib/hubspot/codegen/crm/objects/goals/models/public_object_id.rb +230 -0
  184. data/lib/hubspot/codegen/crm/objects/goals/models/public_object_search_request.rb +301 -0
  185. data/lib/hubspot/codegen/crm/objects/goals/models/simple_public_object.rb +303 -0
  186. data/lib/hubspot/codegen/crm/objects/goals/models/simple_public_object_batch_input.rb +246 -0
  187. data/lib/hubspot/codegen/crm/objects/goals/models/simple_public_object_id.rb +230 -0
  188. data/lib/hubspot/codegen/crm/objects/goals/models/simple_public_object_input.rb +232 -0
  189. data/lib/hubspot/codegen/crm/objects/goals/models/simple_public_object_input_for_create.rb +248 -0
  190. data/lib/hubspot/codegen/crm/objects/goals/models/simple_public_object_with_associations.rb +314 -0
  191. data/lib/hubspot/codegen/crm/objects/goals/models/standard_error.rb +324 -0
  192. data/lib/hubspot/codegen/crm/objects/goals/models/value_with_timestamp.rb +285 -0
  193. data/lib/hubspot/codegen/crm/objects/taxes/api/basic_api.rb +391 -0
  194. data/lib/hubspot/codegen/crm/objects/taxes/api/batch_api.rb +295 -0
  195. data/lib/hubspot/codegen/crm/objects/taxes/api/gdpr_api.rb +96 -0
  196. data/lib/hubspot/codegen/crm/objects/taxes/api/public_object_api.rb +94 -0
  197. data/lib/hubspot/codegen/crm/objects/taxes/api/search_api.rb +92 -0
  198. data/lib/hubspot/codegen/crm/objects/taxes/api_client.rb +412 -0
  199. data/lib/hubspot/codegen/crm/objects/taxes/api_error.rb +63 -0
  200. data/lib/hubspot/codegen/crm/objects/taxes/configuration.rb +289 -0
  201. data/lib/hubspot/codegen/crm/objects/taxes/models/associated_id.rb +244 -0
  202. data/lib/hubspot/codegen/crm/objects/taxes/models/association_spec.rb +278 -0
  203. data/lib/hubspot/codegen/crm/objects/taxes/models/batch_input_simple_public_object_batch_input.rb +232 -0
  204. data/lib/hubspot/codegen/crm/objects/taxes/models/batch_input_simple_public_object_id.rb +232 -0
  205. data/lib/hubspot/codegen/crm/objects/taxes/models/batch_input_simple_public_object_input_for_create.rb +232 -0
  206. data/lib/hubspot/codegen/crm/objects/taxes/models/batch_read_input_simple_public_object_id.rb +273 -0
  207. data/lib/hubspot/codegen/crm/objects/taxes/models/batch_response_simple_public_object.rb +328 -0
  208. data/lib/hubspot/codegen/crm/objects/taxes/models/batch_response_simple_public_object_with_errors.rb +348 -0
  209. data/lib/hubspot/codegen/crm/objects/taxes/models/collection_response_associated_id.rb +241 -0
  210. data/lib/hubspot/codegen/crm/objects/taxes/models/collection_response_simple_public_object_with_associations_forward_paging.rb +241 -0
  211. data/lib/hubspot/codegen/crm/objects/taxes/models/collection_response_with_total_simple_public_object_forward_paging.rb +255 -0
  212. data/lib/hubspot/codegen/crm/objects/taxes/models/error.rb +307 -0
  213. data/lib/hubspot/codegen/crm/objects/taxes/models/error_detail.rb +273 -0
  214. data/lib/hubspot/codegen/crm/objects/taxes/models/filter.rb +308 -0
  215. data/lib/hubspot/codegen/crm/objects/taxes/models/filter_group.rb +232 -0
  216. data/lib/hubspot/codegen/crm/objects/taxes/models/forward_paging.rb +225 -0
  217. data/lib/hubspot/codegen/crm/objects/taxes/models/next_page.rb +239 -0
  218. data/lib/hubspot/codegen/crm/objects/taxes/models/paging.rb +234 -0
  219. data/lib/hubspot/codegen/crm/objects/taxes/models/previous_page.rb +239 -0
  220. data/lib/hubspot/codegen/crm/objects/taxes/models/public_associations_for_object.rb +246 -0
  221. data/lib/hubspot/codegen/crm/objects/taxes/models/public_gdpr_delete_input.rb +239 -0
  222. data/lib/hubspot/codegen/crm/objects/taxes/models/public_merge_input.rb +244 -0
  223. data/lib/hubspot/codegen/crm/objects/taxes/models/public_object_id.rb +230 -0
  224. data/lib/hubspot/codegen/crm/objects/taxes/models/public_object_search_request.rb +301 -0
  225. data/lib/hubspot/codegen/crm/objects/taxes/models/simple_public_object.rb +303 -0
  226. data/lib/hubspot/codegen/crm/objects/taxes/models/simple_public_object_batch_input.rb +246 -0
  227. data/lib/hubspot/codegen/crm/objects/taxes/models/simple_public_object_id.rb +230 -0
  228. data/lib/hubspot/codegen/crm/objects/taxes/models/simple_public_object_input.rb +232 -0
  229. data/lib/hubspot/codegen/crm/objects/taxes/models/simple_public_object_input_for_create.rb +248 -0
  230. data/lib/hubspot/codegen/crm/objects/taxes/models/simple_public_object_with_associations.rb +314 -0
  231. data/lib/hubspot/codegen/crm/objects/taxes/models/standard_error.rb +324 -0
  232. data/lib/hubspot/codegen/crm/objects/taxes/models/value_with_timestamp.rb +285 -0
  233. data/lib/hubspot/codegen/events/send/api/behavioral_events_tracking_api.rb +94 -0
  234. data/lib/hubspot/codegen/events/send/api_client.rb +410 -0
  235. data/lib/hubspot/codegen/events/send/api_error.rb +61 -0
  236. data/lib/hubspot/codegen/events/send/configuration.rb +287 -0
  237. data/lib/hubspot/codegen/events/send/models/behavioral_event_http_completion_request.rb +290 -0
  238. data/lib/hubspot/codegen/events/send/models/error.rb +305 -0
  239. data/lib/hubspot/codegen/events/send/models/error_detail.rb +271 -0
  240. data/lib/hubspot/codegen/settings/business_units/api/business_unit_api.rb +95 -0
  241. data/lib/hubspot/codegen/settings/business_units/api_client.rb +410 -0
  242. data/lib/hubspot/codegen/settings/business_units/api_error.rb +61 -0
  243. data/lib/hubspot/codegen/settings/business_units/configuration.rb +287 -0
  244. data/lib/hubspot/codegen/settings/business_units/models/collection_response_public_business_unit_no_paging.rb +232 -0
  245. data/lib/hubspot/codegen/settings/business_units/models/error.rb +305 -0
  246. data/lib/hubspot/codegen/settings/business_units/models/error_detail.rb +271 -0
  247. data/lib/hubspot/codegen/settings/business_units/models/public_business_unit.rb +254 -0
  248. data/lib/hubspot/codegen/settings/business_units/models/public_business_unit_logo_metadata.rb +245 -0
  249. data/lib/hubspot/discovery/cms/client.rb +1 -0
  250. data/lib/hubspot/discovery/cms/pages/api/landing_pages_api.rb +13 -0
  251. data/lib/hubspot/discovery/cms/pages/api/site_pages_api.rb +13 -0
  252. data/lib/hubspot/discovery/cms/pages/client.rb +20 -0
  253. data/lib/hubspot/discovery/crm/client.rb +1 -0
  254. data/lib/hubspot/discovery/crm/lists/api/lists_api.rb +13 -0
  255. data/lib/hubspot/discovery/crm/lists/api/memberships_api.rb +13 -0
  256. data/lib/hubspot/discovery/crm/lists/client.rb +20 -0
  257. data/lib/hubspot/discovery/crm/objects/client.rb +2 -0
  258. data/lib/hubspot/discovery/crm/objects/goals/api/basic_api.rb +15 -0
  259. data/lib/hubspot/discovery/crm/objects/goals/api/batch_api.rb +15 -0
  260. data/lib/hubspot/discovery/crm/objects/goals/api/gdpr_api.rb +15 -0
  261. data/lib/hubspot/discovery/crm/objects/goals/api/public_object_api.rb +15 -0
  262. data/lib/hubspot/discovery/crm/objects/goals/api/search_api.rb +15 -0
  263. data/lib/hubspot/discovery/crm/objects/goals/client.rb +25 -0
  264. data/lib/hubspot/discovery/crm/objects/taxes/api/basic_api.rb +15 -0
  265. data/lib/hubspot/discovery/crm/objects/taxes/api/batch_api.rb +15 -0
  266. data/lib/hubspot/discovery/crm/objects/taxes/api/gdpr_api.rb +15 -0
  267. data/lib/hubspot/discovery/crm/objects/taxes/api/public_object_api.rb +15 -0
  268. data/lib/hubspot/discovery/crm/objects/taxes/api/search_api.rb +15 -0
  269. data/lib/hubspot/discovery/crm/objects/taxes/client.rb +25 -0
  270. data/lib/hubspot/discovery/events/client.rb +6 -0
  271. data/lib/hubspot/discovery/events/send/api/behavioral_events_tracking_api.rb +13 -0
  272. data/lib/hubspot/discovery/events/send/client.rb +19 -0
  273. data/lib/hubspot/discovery/settings/business_units/api/business_unit_api.rb +13 -0
  274. data/lib/hubspot/discovery/settings/business_units/client.rb +19 -0
  275. data/lib/hubspot/discovery/settings/client.rb +1 -0
  276. data/lib/hubspot/version.rb +1 -1
  277. data/spec/discovery/client_spec.rb +1 -0
  278. data/spec/discovery/cms/client_spec.rb +1 -0
  279. data/spec/discovery/cms/pages/landing_pages_api_spec.rb +45 -0
  280. data/spec/discovery/cms/pages/site_pages_api_spec.rb +33 -0
  281. data/spec/discovery/crm/lists/lists_api_spec.rb +15 -0
  282. data/spec/discovery/crm/lists/memberships_api_spec.rb +12 -0
  283. data/spec/discovery/crm/objects/goals/basic_api_spec.rb +11 -0
  284. data/spec/discovery/crm/objects/goals/batch_api_spec.rb +10 -0
  285. data/spec/discovery/crm/objects/goals/gdpr_api_spec.rb +7 -0
  286. data/spec/discovery/crm/objects/goals/public_object_api_spec.rb +7 -0
  287. data/spec/discovery/crm/objects/goals/search_api_spec.rb +7 -0
  288. data/spec/discovery/crm/objects/taxes/basic_api_spec.rb +11 -0
  289. data/spec/discovery/crm/objects/taxes/batch_api_spec.rb +10 -0
  290. data/spec/discovery/crm/objects/taxes/gdpr_api_spec.rb +7 -0
  291. data/spec/discovery/crm/objects/taxes/public_object_api_spec.rb +7 -0
  292. data/spec/discovery/crm/objects/taxes/search_api_spec.rb +7 -0
  293. data/spec/discovery/events/send/behavioral_events_tracking_api_spec.rb +7 -0
  294. data/spec/discovery/settings/businnes_units/business_unit_api_spec.rb +7 -0
  295. data/spec/integration/contacts_spec.rb +85 -0
  296. metadata +303 -2
@@ -0,0 +1,352 @@
1
+ =begin
2
+ #Lists
3
+
4
+ #CRUD operations to manage lists and list memberships
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Hubspot
17
+ module Crm
18
+ module Lists
19
+ class PublicAssociationInListFilter
20
+ attr_accessor :filter_type
21
+
22
+ attr_accessor :coalescing_refine_by
23
+
24
+ attr_accessor :operator
25
+
26
+ attr_accessor :list_id
27
+
28
+ attr_accessor :to_object_type_id
29
+
30
+ attr_accessor :association_type_id
31
+
32
+ attr_accessor :association_category
33
+
34
+ attr_accessor :to_object_type
35
+
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
58
+ # Attribute mapping from ruby-style variable name to JSON key.
59
+ def self.attribute_map
60
+ {
61
+ :'filter_type' => :'filterType',
62
+ :'coalescing_refine_by' => :'coalescingRefineBy',
63
+ :'operator' => :'operator',
64
+ :'list_id' => :'listId',
65
+ :'to_object_type_id' => :'toObjectTypeId',
66
+ :'association_type_id' => :'associationTypeId',
67
+ :'association_category' => :'associationCategory',
68
+ :'to_object_type' => :'toObjectType'
69
+ }
70
+ end
71
+
72
+ # Returns all the JSON keys this model knows about
73
+ def self.acceptable_attributes
74
+ attribute_map.values
75
+ end
76
+
77
+ # Attribute type mapping.
78
+ def self.openapi_types
79
+ {
80
+ :'filter_type' => :'String',
81
+ :'coalescing_refine_by' => :'PublicEventAnalyticsFilterCoalescingRefineBy',
82
+ :'operator' => :'String',
83
+ :'list_id' => :'Integer',
84
+ :'to_object_type_id' => :'String',
85
+ :'association_type_id' => :'Integer',
86
+ :'association_category' => :'String',
87
+ :'to_object_type' => :'String'
88
+ }
89
+ end
90
+
91
+ # List of attributes with nullable: true
92
+ def self.openapi_nullable
93
+ Set.new([
94
+ ])
95
+ end
96
+
97
+ # Initializes the object
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ def initialize(attributes = {})
100
+ if (!attributes.is_a?(Hash))
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Hubspot::Crm::Lists::PublicAssociationInListFilter` initialize method"
102
+ end
103
+
104
+ # check to see if the attribute exists and convert string to symbol for hash key
105
+ attributes = attributes.each_with_object({}) { |(k, v), h|
106
+ if (!self.class.attribute_map.key?(k.to_sym))
107
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Hubspot::Crm::Lists::PublicAssociationInListFilter`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
108
+ end
109
+ h[k.to_sym] = v
110
+ }
111
+
112
+ if attributes.key?(:'filter_type')
113
+ self.filter_type = attributes[:'filter_type']
114
+ else
115
+ self.filter_type = 'ASSOCIATION'
116
+ end
117
+
118
+ if attributes.key?(:'coalescing_refine_by')
119
+ self.coalescing_refine_by = attributes[:'coalescing_refine_by']
120
+ end
121
+
122
+ if attributes.key?(:'operator')
123
+ self.operator = attributes[:'operator']
124
+ end
125
+
126
+ if attributes.key?(:'list_id')
127
+ self.list_id = attributes[:'list_id']
128
+ end
129
+
130
+ if attributes.key?(:'to_object_type_id')
131
+ self.to_object_type_id = attributes[:'to_object_type_id']
132
+ end
133
+
134
+ if attributes.key?(:'association_type_id')
135
+ self.association_type_id = attributes[:'association_type_id']
136
+ end
137
+
138
+ if attributes.key?(:'association_category')
139
+ self.association_category = attributes[:'association_category']
140
+ end
141
+
142
+ if attributes.key?(:'to_object_type')
143
+ self.to_object_type = attributes[:'to_object_type']
144
+ end
145
+ end
146
+
147
+ # Show invalid properties with the reasons. Usually used together with valid?
148
+ # @return Array for valid properties with the reasons
149
+ def list_invalid_properties
150
+ invalid_properties = Array.new
151
+ if @filter_type.nil?
152
+ invalid_properties.push('invalid value for "filter_type", filter_type cannot be nil.')
153
+ end
154
+
155
+ if @coalescing_refine_by.nil?
156
+ invalid_properties.push('invalid value for "coalescing_refine_by", coalescing_refine_by cannot be nil.')
157
+ end
158
+
159
+ if @operator.nil?
160
+ invalid_properties.push('invalid value for "operator", operator cannot be nil.')
161
+ end
162
+
163
+ if @list_id.nil?
164
+ invalid_properties.push('invalid value for "list_id", list_id cannot be nil.')
165
+ end
166
+
167
+ if @association_type_id.nil?
168
+ invalid_properties.push('invalid value for "association_type_id", association_type_id cannot be nil.')
169
+ end
170
+
171
+ if @association_category.nil?
172
+ invalid_properties.push('invalid value for "association_category", association_category cannot be nil.')
173
+ end
174
+
175
+ invalid_properties
176
+ end
177
+
178
+ # Check to see if the all the properties in the model are valid
179
+ # @return true if the model is valid
180
+ def valid?
181
+ return false if @filter_type.nil?
182
+ filter_type_validator = EnumAttributeValidator.new('String', ["ASSOCIATION"])
183
+ return false unless filter_type_validator.valid?(@filter_type)
184
+ return false if @coalescing_refine_by.nil?
185
+ return false if @operator.nil?
186
+ return false if @list_id.nil?
187
+ return false if @association_type_id.nil?
188
+ return false if @association_category.nil?
189
+ true
190
+ end
191
+
192
+ # Custom attribute writer method checking allowed values (enum).
193
+ # @param [Object] filter_type Object to be assigned
194
+ def filter_type=(filter_type)
195
+ validator = EnumAttributeValidator.new('String', ["ASSOCIATION"])
196
+ unless validator.valid?(filter_type)
197
+ fail ArgumentError, "invalid value for \"filter_type\", must be one of #{validator.allowable_values}."
198
+ end
199
+ @filter_type = filter_type
200
+ end
201
+
202
+ # Checks equality by comparing each attribute.
203
+ # @param [Object] Object to be compared
204
+ def ==(o)
205
+ return true if self.equal?(o)
206
+ self.class == o.class &&
207
+ filter_type == o.filter_type &&
208
+ coalescing_refine_by == o.coalescing_refine_by &&
209
+ operator == o.operator &&
210
+ list_id == o.list_id &&
211
+ to_object_type_id == o.to_object_type_id &&
212
+ association_type_id == o.association_type_id &&
213
+ association_category == o.association_category &&
214
+ to_object_type == o.to_object_type
215
+ end
216
+
217
+ # @see the `==` method
218
+ # @param [Object] Object to be compared
219
+ def eql?(o)
220
+ self == o
221
+ end
222
+
223
+ # Calculates hash code according to all attributes.
224
+ # @return [Integer] Hash code
225
+ def hash
226
+ [filter_type, coalescing_refine_by, operator, list_id, to_object_type_id, association_type_id, association_category, to_object_type].hash
227
+ end
228
+
229
+ # Builds the object from hash
230
+ # @param [Hash] attributes Model attributes in the form of hash
231
+ # @return [Object] Returns the model itself
232
+ def self.build_from_hash(attributes)
233
+ new.build_from_hash(attributes)
234
+ end
235
+
236
+ # Builds the object from hash
237
+ # @param [Hash] attributes Model attributes in the form of hash
238
+ # @return [Object] Returns the model itself
239
+ def build_from_hash(attributes)
240
+ return nil unless attributes.is_a?(Hash)
241
+ attributes = attributes.transform_keys(&:to_sym)
242
+ self.class.openapi_types.each_pair do |key, type|
243
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
244
+ self.send("#{key}=", nil)
245
+ elsif type =~ /\AArray<(.*)>/i
246
+ # check to ensure the input is an array given that the attribute
247
+ # is documented as an array but the input is not
248
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
249
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
250
+ end
251
+ elsif !attributes[self.class.attribute_map[key]].nil?
252
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
253
+ end
254
+ end
255
+
256
+ self
257
+ end
258
+
259
+ # Deserializes the data based on type
260
+ # @param string type Data type
261
+ # @param string value Value to be deserialized
262
+ # @return [Object] Deserialized data
263
+ def _deserialize(type, value)
264
+ case type.to_sym
265
+ when :Time
266
+ Time.parse(value)
267
+ when :Date
268
+ Date.parse(value)
269
+ when :String
270
+ value.to_s
271
+ when :Integer
272
+ value.to_i
273
+ when :Float
274
+ value.to_f
275
+ when :Boolean
276
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
277
+ true
278
+ else
279
+ false
280
+ end
281
+ when :Object
282
+ # generic object (usually a Hash), return directly
283
+ value
284
+ when /\AArray<(?<inner_type>.+)>\z/
285
+ inner_type = Regexp.last_match[:inner_type]
286
+ value.map { |v| _deserialize(inner_type, v) }
287
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
288
+ k_type = Regexp.last_match[:k_type]
289
+ v_type = Regexp.last_match[:v_type]
290
+ {}.tap do |hash|
291
+ value.each do |k, v|
292
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
293
+ end
294
+ end
295
+ else # model
296
+ # models (e.g. Pet) or oneOf
297
+ klass = Hubspot::Crm::Lists.const_get(type)
298
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
299
+ end
300
+ end
301
+
302
+ # Returns the string representation of the object
303
+ # @return [String] String presentation of the object
304
+ def to_s
305
+ to_hash.to_s
306
+ end
307
+
308
+ # to_body is an alias to to_hash (backward compatibility)
309
+ # @return [Hash] Returns the object in the form of hash
310
+ def to_body
311
+ to_hash
312
+ end
313
+
314
+ # Returns the object in the form of hash
315
+ # @return [Hash] Returns the object in the form of hash
316
+ def to_hash
317
+ hash = {}
318
+ self.class.attribute_map.each_pair do |attr, param|
319
+ value = self.send(attr)
320
+ if value.nil?
321
+ is_nullable = self.class.openapi_nullable.include?(attr)
322
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
323
+ end
324
+
325
+ hash[param] = _to_hash(value)
326
+ end
327
+ hash
328
+ end
329
+
330
+ # Outputs non-array value in the form of hash
331
+ # For object, use to_hash. Otherwise, just return the value
332
+ # @param [Object] value Any valid value
333
+ # @return [Hash] Returns the value in the form of hash
334
+ def _to_hash(value)
335
+ if value.is_a?(Array)
336
+ value.compact.map { |v| _to_hash(v) }
337
+ elsif value.is_a?(Hash)
338
+ {}.tap do |hash|
339
+ value.each { |k, v| hash[k] = _to_hash(v) }
340
+ end
341
+ elsif value.respond_to? :to_hash
342
+ value.to_hash
343
+ else
344
+ value
345
+ end
346
+ end
347
+
348
+ end
349
+
350
+ end
351
+ end
352
+ end
@@ -0,0 +1,306 @@
1
+ =begin
2
+ #Lists
3
+
4
+ #CRUD operations to manage lists and list memberships
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Hubspot
17
+ module Crm
18
+ module Lists
19
+ class PublicBoolPropertyOperation
20
+ attr_accessor :operation_type
21
+
22
+ attr_accessor :operator
23
+
24
+ attr_accessor :include_objects_with_no_value_set
25
+
26
+ attr_accessor :value
27
+
28
+ class EnumAttributeValidator
29
+ attr_reader :datatype
30
+ attr_reader :allowable_values
31
+
32
+ def initialize(datatype, allowable_values)
33
+ @allowable_values = allowable_values.map do |value|
34
+ case datatype.to_s
35
+ when /Integer/i
36
+ value.to_i
37
+ when /Float/i
38
+ value.to_f
39
+ else
40
+ value
41
+ end
42
+ end
43
+ end
44
+
45
+ def valid?(value)
46
+ !value || allowable_values.include?(value)
47
+ end
48
+ end
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'operation_type' => :'operationType',
54
+ :'operator' => :'operator',
55
+ :'include_objects_with_no_value_set' => :'includeObjectsWithNoValueSet',
56
+ :'value' => :'value'
57
+ }
58
+ end
59
+
60
+ # Returns all the JSON keys this model knows about
61
+ def self.acceptable_attributes
62
+ attribute_map.values
63
+ end
64
+
65
+ # Attribute type mapping.
66
+ def self.openapi_types
67
+ {
68
+ :'operation_type' => :'String',
69
+ :'operator' => :'String',
70
+ :'include_objects_with_no_value_set' => :'Boolean',
71
+ :'value' => :'Boolean'
72
+ }
73
+ end
74
+
75
+ # List of attributes with nullable: true
76
+ def self.openapi_nullable
77
+ Set.new([
78
+ ])
79
+ end
80
+
81
+ # Initializes the object
82
+ # @param [Hash] attributes Model attributes in the form of hash
83
+ def initialize(attributes = {})
84
+ if (!attributes.is_a?(Hash))
85
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Hubspot::Crm::Lists::PublicBoolPropertyOperation` initialize method"
86
+ end
87
+
88
+ # check to see if the attribute exists and convert string to symbol for hash key
89
+ attributes = attributes.each_with_object({}) { |(k, v), h|
90
+ if (!self.class.attribute_map.key?(k.to_sym))
91
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Hubspot::Crm::Lists::PublicBoolPropertyOperation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
92
+ end
93
+ h[k.to_sym] = v
94
+ }
95
+
96
+ if attributes.key?(:'operation_type')
97
+ self.operation_type = attributes[:'operation_type']
98
+ else
99
+ self.operation_type = 'BOOL'
100
+ end
101
+
102
+ if attributes.key?(:'operator')
103
+ self.operator = attributes[:'operator']
104
+ end
105
+
106
+ if attributes.key?(:'include_objects_with_no_value_set')
107
+ self.include_objects_with_no_value_set = attributes[:'include_objects_with_no_value_set']
108
+ end
109
+
110
+ if attributes.key?(:'value')
111
+ self.value = attributes[:'value']
112
+ end
113
+ end
114
+
115
+ # Show invalid properties with the reasons. Usually used together with valid?
116
+ # @return Array for valid properties with the reasons
117
+ def list_invalid_properties
118
+ invalid_properties = Array.new
119
+ if @operation_type.nil?
120
+ invalid_properties.push('invalid value for "operation_type", operation_type cannot be nil.')
121
+ end
122
+
123
+ if @operator.nil?
124
+ invalid_properties.push('invalid value for "operator", operator cannot be nil.')
125
+ end
126
+
127
+ if @include_objects_with_no_value_set.nil?
128
+ invalid_properties.push('invalid value for "include_objects_with_no_value_set", include_objects_with_no_value_set cannot be nil.')
129
+ end
130
+
131
+ if @value.nil?
132
+ invalid_properties.push('invalid value for "value", value cannot be nil.')
133
+ end
134
+
135
+ invalid_properties
136
+ end
137
+
138
+ # Check to see if the all the properties in the model are valid
139
+ # @return true if the model is valid
140
+ def valid?
141
+ return false if @operation_type.nil?
142
+ operation_type_validator = EnumAttributeValidator.new('String', ["BOOL"])
143
+ return false unless operation_type_validator.valid?(@operation_type)
144
+ return false if @operator.nil?
145
+ return false if @include_objects_with_no_value_set.nil?
146
+ return false if @value.nil?
147
+ true
148
+ end
149
+
150
+ # Custom attribute writer method checking allowed values (enum).
151
+ # @param [Object] operation_type Object to be assigned
152
+ def operation_type=(operation_type)
153
+ validator = EnumAttributeValidator.new('String', ["BOOL"])
154
+ unless validator.valid?(operation_type)
155
+ fail ArgumentError, "invalid value for \"operation_type\", must be one of #{validator.allowable_values}."
156
+ end
157
+ @operation_type = operation_type
158
+ end
159
+
160
+ # Checks equality by comparing each attribute.
161
+ # @param [Object] Object to be compared
162
+ def ==(o)
163
+ return true if self.equal?(o)
164
+ self.class == o.class &&
165
+ operation_type == o.operation_type &&
166
+ operator == o.operator &&
167
+ include_objects_with_no_value_set == o.include_objects_with_no_value_set &&
168
+ value == o.value
169
+ end
170
+
171
+ # @see the `==` method
172
+ # @param [Object] Object to be compared
173
+ def eql?(o)
174
+ self == o
175
+ end
176
+
177
+ # Calculates hash code according to all attributes.
178
+ # @return [Integer] Hash code
179
+ def hash
180
+ [operation_type, operator, include_objects_with_no_value_set, value].hash
181
+ end
182
+
183
+ # Builds the object from hash
184
+ # @param [Hash] attributes Model attributes in the form of hash
185
+ # @return [Object] Returns the model itself
186
+ def self.build_from_hash(attributes)
187
+ new.build_from_hash(attributes)
188
+ end
189
+
190
+ # Builds the object from hash
191
+ # @param [Hash] attributes Model attributes in the form of hash
192
+ # @return [Object] Returns the model itself
193
+ def build_from_hash(attributes)
194
+ return nil unless attributes.is_a?(Hash)
195
+ attributes = attributes.transform_keys(&:to_sym)
196
+ self.class.openapi_types.each_pair do |key, type|
197
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
198
+ self.send("#{key}=", nil)
199
+ elsif type =~ /\AArray<(.*)>/i
200
+ # check to ensure the input is an array given that the attribute
201
+ # is documented as an array but the input is not
202
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
203
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
204
+ end
205
+ elsif !attributes[self.class.attribute_map[key]].nil?
206
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
207
+ end
208
+ end
209
+
210
+ self
211
+ end
212
+
213
+ # Deserializes the data based on type
214
+ # @param string type Data type
215
+ # @param string value Value to be deserialized
216
+ # @return [Object] Deserialized data
217
+ def _deserialize(type, value)
218
+ case type.to_sym
219
+ when :Time
220
+ Time.parse(value)
221
+ when :Date
222
+ Date.parse(value)
223
+ when :String
224
+ value.to_s
225
+ when :Integer
226
+ value.to_i
227
+ when :Float
228
+ value.to_f
229
+ when :Boolean
230
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
231
+ true
232
+ else
233
+ false
234
+ end
235
+ when :Object
236
+ # generic object (usually a Hash), return directly
237
+ value
238
+ when /\AArray<(?<inner_type>.+)>\z/
239
+ inner_type = Regexp.last_match[:inner_type]
240
+ value.map { |v| _deserialize(inner_type, v) }
241
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
242
+ k_type = Regexp.last_match[:k_type]
243
+ v_type = Regexp.last_match[:v_type]
244
+ {}.tap do |hash|
245
+ value.each do |k, v|
246
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
247
+ end
248
+ end
249
+ else # model
250
+ # models (e.g. Pet) or oneOf
251
+ klass = Hubspot::Crm::Lists.const_get(type)
252
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
253
+ end
254
+ end
255
+
256
+ # Returns the string representation of the object
257
+ # @return [String] String presentation of the object
258
+ def to_s
259
+ to_hash.to_s
260
+ end
261
+
262
+ # to_body is an alias to to_hash (backward compatibility)
263
+ # @return [Hash] Returns the object in the form of hash
264
+ def to_body
265
+ to_hash
266
+ end
267
+
268
+ # Returns the object in the form of hash
269
+ # @return [Hash] Returns the object in the form of hash
270
+ def to_hash
271
+ hash = {}
272
+ self.class.attribute_map.each_pair do |attr, param|
273
+ value = self.send(attr)
274
+ if value.nil?
275
+ is_nullable = self.class.openapi_nullable.include?(attr)
276
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
277
+ end
278
+
279
+ hash[param] = _to_hash(value)
280
+ end
281
+ hash
282
+ end
283
+
284
+ # Outputs non-array value in the form of hash
285
+ # For object, use to_hash. Otherwise, just return the value
286
+ # @param [Object] value Any valid value
287
+ # @return [Hash] Returns the value in the form of hash
288
+ def _to_hash(value)
289
+ if value.is_a?(Array)
290
+ value.compact.map { |v| _to_hash(v) }
291
+ elsif value.is_a?(Hash)
292
+ {}.tap do |hash|
293
+ value.each { |k, v| hash[k] = _to_hash(v) }
294
+ end
295
+ elsif value.respond_to? :to_hash
296
+ value.to_hash
297
+ else
298
+ value
299
+ end
300
+ end
301
+
302
+ end
303
+
304
+ end
305
+ end
306
+ end