constant_contact_client 1.0.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 (406) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +56 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +72 -0
  5. data/LICENSE +29 -0
  6. data/README.md +201 -0
  7. data/Rakefile +10 -0
  8. data/constant_contact_client.gemspec +39 -0
  9. data/docs/AccountServicesApi.md +593 -0
  10. data/docs/BulkActivitiesApi.md +1035 -0
  11. data/docs/ContactListsApi.md +461 -0
  12. data/docs/ContactTagsApi.md +382 -0
  13. data/docs/ContactsApi.md +701 -0
  14. data/docs/ContactsCustomFieldsApi.md +375 -0
  15. data/docs/ContactsReportingApi.md +244 -0
  16. data/docs/EmailCampaignsABTestsApi.md +227 -0
  17. data/docs/EmailCampaignsApi.md +826 -0
  18. data/docs/EmailReportingApi.md +925 -0
  19. data/docs/EmailSchedulingApi.md +447 -0
  20. data/docs/LandingPagesReportingApi.md +481 -0
  21. data/docs/SegmentsApi.md +452 -0
  22. data/lib/constant_contact_client/api/account_services_api.rb +546 -0
  23. data/lib/constant_contact_client/api/bulk_activities_api.rb +983 -0
  24. data/lib/constant_contact_client/api/contact_lists_api.rb +449 -0
  25. data/lib/constant_contact_client/api/contact_tags_api.rb +356 -0
  26. data/lib/constant_contact_client/api/contacts_api.rb +676 -0
  27. data/lib/constant_contact_client/api/contacts_custom_fields_api.rb +356 -0
  28. data/lib/constant_contact_client/api/contacts_reporting_api.rb +255 -0
  29. data/lib/constant_contact_client/api/email_campaigns_ab_tests_api.rb +220 -0
  30. data/lib/constant_contact_client/api/email_campaigns_api.rb +766 -0
  31. data/lib/constant_contact_client/api/email_reporting_api.rb +812 -0
  32. data/lib/constant_contact_client/api/email_scheduling_api.rb +418 -0
  33. data/lib/constant_contact_client/api/landing_pages_reporting_api.rb +436 -0
  34. data/lib/constant_contact_client/api/segments_api.rb +425 -0
  35. data/lib/constant_contact_client/api_client.rb +394 -0
  36. data/lib/constant_contact_client/api_error.rb +58 -0
  37. data/lib/constant_contact_client/configuration.rb +305 -0
  38. data/lib/constant_contact_client/models/ab_test_data.rb +256 -0
  39. data/lib/constant_contact_client/models/access_token_response.rb +265 -0
  40. data/lib/constant_contact_client/models/account_cancellation.rb +226 -0
  41. data/lib/constant_contact_client/models/account_email_create_response.rb +273 -0
  42. data/lib/constant_contact_client/models/account_email_input.rb +234 -0
  43. data/lib/constant_contact_client/models/account_physical_address.rb +409 -0
  44. data/lib/constant_contact_client/models/account_suspension.rb +289 -0
  45. data/lib/constant_contact_client/models/activities.rb +226 -0
  46. data/lib/constant_contact_client/models/activity.rb +316 -0
  47. data/lib/constant_contact_client/models/activity_delete_custom_fields.rb +297 -0
  48. data/lib/constant_contact_client/models/activity_delete_list_response.rb +276 -0
  49. data/lib/constant_contact_client/models/activity_delete_lists_response.rb +305 -0
  50. data/lib/constant_contact_client/models/activity_delete_status.rb +306 -0
  51. data/lib/constant_contact_client/models/activity_errors.rb +215 -0
  52. data/lib/constant_contact_client/models/activity_export_status.rb +306 -0
  53. data/lib/constant_contact_client/models/activity_generic.rb +299 -0
  54. data/lib/constant_contact_client/models/activity_generic_status.rb +225 -0
  55. data/lib/constant_contact_client/models/activity_import.rb +316 -0
  56. data/lib/constant_contact_client/models/activity_links.rb +223 -0
  57. data/lib/constant_contact_client/models/activity_lists_membership.rb +305 -0
  58. data/lib/constant_contact_client/models/activity_reference.rb +225 -0
  59. data/lib/constant_contact_client/models/activity_status.rb +275 -0
  60. data/lib/constant_contact_client/models/activity_status_export_link.rb +223 -0
  61. data/lib/constant_contact_client/models/activity_status_link.rb +214 -0
  62. data/lib/constant_contact_client/models/activity_tagging.rb +319 -0
  63. data/lib/constant_contact_client/models/activity_tagging_status.rb +226 -0
  64. data/lib/constant_contact_client/models/add_account_email_address201_response.rb +273 -0
  65. data/lib/constant_contact_client/models/add_account_email_address_request.rb +234 -0
  66. data/lib/constant_contact_client/models/api_error_schema_inner.rb +225 -0
  67. data/lib/constant_contact_client/models/authorization_error_schema.rb +225 -0
  68. data/lib/constant_contact_client/models/bounces_tracking_activities_page.rb +240 -0
  69. data/lib/constant_contact_client/models/bounces_tracking_activity.rb +347 -0
  70. data/lib/constant_contact_client/models/bulk_email_campaign_summaries_page.rb +249 -0
  71. data/lib/constant_contact_client/models/bulk_email_campaign_summaries_percents.rb +255 -0
  72. data/lib/constant_contact_client/models/bulk_email_campaign_summary.rb +272 -0
  73. data/lib/constant_contact_client/models/campaign_activity_stats_query_result_email.rb +229 -0
  74. data/lib/constant_contact_client/models/campaign_activity_stats_result_generic_stats_email_activity.rb +244 -0
  75. data/lib/constant_contact_client/models/campaign_activity_summary.rb +341 -0
  76. data/lib/constant_contact_client/models/campaign_stats_query_result_email.rb +229 -0
  77. data/lib/constant_contact_client/models/campaign_stats_result_generic_stats_email_percents_email.rb +243 -0
  78. data/lib/constant_contact_client/models/clicks_tracking_activities_page.rb +233 -0
  79. data/lib/constant_contact_client/models/clicks_tracking_activity.rb +364 -0
  80. data/lib/constant_contact_client/models/company_logo.rb +235 -0
  81. data/lib/constant_contact_client/models/contact_campaign_activities_summary.rb +250 -0
  82. data/lib/constant_contact_client/models/contact_create_or_update_input.rb +503 -0
  83. data/lib/constant_contact_client/models/contact_create_or_update_response.rb +225 -0
  84. data/lib/constant_contact_client/models/contact_custom_field.rb +259 -0
  85. data/lib/constant_contact_client/models/contact_delete.rb +267 -0
  86. data/lib/constant_contact_client/models/contact_list.rb +301 -0
  87. data/lib/constant_contact_client/models/contact_list_array.rb +235 -0
  88. data/lib/constant_contact_client/models/contact_list_put_post.rb +291 -0
  89. data/lib/constant_contact_client/models/contact_open_and_click_rates.rb +274 -0
  90. data/lib/constant_contact_client/models/contact_post_request.rb +575 -0
  91. data/lib/constant_contact_client/models/contact_put_request.rb +582 -0
  92. data/lib/constant_contact_client/models/contact_resource.rb +635 -0
  93. data/lib/constant_contact_client/models/contact_tracking_activities_page.rb +227 -0
  94. data/lib/constant_contact_client/models/contact_tracking_activity.rb +270 -0
  95. data/lib/constant_contact_client/models/contact_xref.rb +226 -0
  96. data/lib/constant_contact_client/models/contact_xrefs.rb +236 -0
  97. data/lib/constant_contact_client/models/contacts.rb +246 -0
  98. data/lib/constant_contact_client/models/contacts_counts.rb +265 -0
  99. data/lib/constant_contact_client/models/contacts_export.rb +300 -0
  100. data/lib/constant_contact_client/models/contacts_json_import.rb +281 -0
  101. data/lib/constant_contact_client/models/create_contact_request.rb +575 -0
  102. data/lib/constant_contact_client/models/create_contact_request_email_address.rb +252 -0
  103. data/lib/constant_contact_client/models/create_csv_import_activity201_response.rb +316 -0
  104. data/lib/constant_contact_client/models/create_csv_import_activity201_response_links.rb +214 -0
  105. data/lib/constant_contact_client/models/create_csv_import_activity201_response_status.rb +255 -0
  106. data/lib/constant_contact_client/models/create_delete_activity201_response.rb +306 -0
  107. data/lib/constant_contact_client/models/create_delete_activity201_response_links.rb +214 -0
  108. data/lib/constant_contact_client/models/create_delete_activity201_response_links_self.rb +215 -0
  109. data/lib/constant_contact_client/models/create_delete_activity201_response_status.rb +235 -0
  110. data/lib/constant_contact_client/models/create_delete_activity_request.rb +267 -0
  111. data/lib/constant_contact_client/models/create_email_campaign200_response.rb +306 -0
  112. data/lib/constant_contact_client/models/create_email_campaign200_response_campaign_activities_inner.rb +225 -0
  113. data/lib/constant_contact_client/models/create_email_campaign_request.rb +260 -0
  114. data/lib/constant_contact_client/models/create_email_campaign_request_email_campaign_activities_inner.rb +402 -0
  115. data/lib/constant_contact_client/models/create_email_campaign_request_email_campaign_activities_inner_physical_address_in_footer.rb +347 -0
  116. data/lib/constant_contact_client/models/create_export_activity201_response.rb +306 -0
  117. data/lib/constant_contact_client/models/create_export_activity201_response_status.rb +225 -0
  118. data/lib/constant_contact_client/models/create_export_activity_request.rb +300 -0
  119. data/lib/constant_contact_client/models/create_import_json_activity_request.rb +281 -0
  120. data/lib/constant_contact_client/models/create_import_json_activity_request_import_data_inner.rb +1315 -0
  121. data/lib/constant_contact_client/models/create_list_add_activity_request.rb +268 -0
  122. data/lib/constant_contact_client/models/create_list_add_activity_request_exclude.rb +217 -0
  123. data/lib/constant_contact_client/models/create_list_add_activity_request_source.rb +331 -0
  124. data/lib/constant_contact_client/models/create_list_delete_activity201_response.rb +305 -0
  125. data/lib/constant_contact_client/models/create_list_delete_activity201_response_links.rb +214 -0
  126. data/lib/constant_contact_client/models/create_list_delete_activity201_response_links_self.rb +215 -0
  127. data/lib/constant_contact_client/models/create_list_delete_activity201_response_status.rb +215 -0
  128. data/lib/constant_contact_client/models/create_list_delete_activity_request.rb +243 -0
  129. data/lib/constant_contact_client/models/create_list_remove_activity201_response.rb +305 -0
  130. data/lib/constant_contact_client/models/create_list_remove_activity201_response_status.rb +235 -0
  131. data/lib/constant_contact_client/models/create_list_remove_activity_request.rb +268 -0
  132. data/lib/constant_contact_client/models/create_list_remove_activity_request_exclude.rb +217 -0
  133. data/lib/constant_contact_client/models/create_list_remove_activity_request_source.rb +321 -0
  134. data/lib/constant_contact_client/models/create_or_update_contact200_response.rb +225 -0
  135. data/lib/constant_contact_client/models/create_or_update_contact_custom_field.rb +244 -0
  136. data/lib/constant_contact_client/models/create_or_update_contact_request.rb +503 -0
  137. data/lib/constant_contact_client/models/create_or_update_contact_request_custom_fields_inner.rb +244 -0
  138. data/lib/constant_contact_client/models/create_or_update_contact_request_street_address.rb +367 -0
  139. data/lib/constant_contact_client/models/create_resend_email_campaign201_response.rb +255 -0
  140. data/lib/constant_contact_client/models/create_resend_email_campaign_request.rb +242 -0
  141. data/lib/constant_contact_client/models/create_segment201_response.rb +274 -0
  142. data/lib/constant_contact_client/models/create_segment_request.rb +258 -0
  143. data/lib/constant_contact_client/models/create_tag_delete_activity_request.rb +243 -0
  144. data/lib/constant_contact_client/models/create_tag_remove_activity201_response.rb +319 -0
  145. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_links.rb +223 -0
  146. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_links_results.rb +215 -0
  147. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_links_self.rb +214 -0
  148. data/lib/constant_contact_client/models/create_tag_remove_activity201_response_status.rb +226 -0
  149. data/lib/constant_contact_client/models/create_tag_remove_activity_request.rb +268 -0
  150. data/lib/constant_contact_client/models/create_tag_remove_activity_request_exclude.rb +218 -0
  151. data/lib/constant_contact_client/models/create_tag_remove_activity_request_source.rb +319 -0
  152. data/lib/constant_contact_client/models/cross_reference.rb +235 -0
  153. data/lib/constant_contact_client/models/cross_reference_response.rb +217 -0
  154. data/lib/constant_contact_client/models/custom_field_id100.rb +243 -0
  155. data/lib/constant_contact_client/models/custom_field_input.rb +258 -0
  156. data/lib/constant_contact_client/models/custom_field_resource.rb +318 -0
  157. data/lib/constant_contact_client/models/custom_fields.rb +245 -0
  158. data/lib/constant_contact_client/models/customer.rb +352 -0
  159. data/lib/constant_contact_client/models/customer_put.rb +334 -0
  160. data/lib/constant_contact_client/models/delete_list202_response.rb +276 -0
  161. data/lib/constant_contact_client/models/delete_tag202_response.rb +299 -0
  162. data/lib/constant_contact_client/models/delete_tag202_response_activity_errors_inner.rb +215 -0
  163. data/lib/constant_contact_client/models/delete_tag202_response_links.rb +214 -0
  164. data/lib/constant_contact_client/models/delete_tag202_response_links_self.rb +215 -0
  165. data/lib/constant_contact_client/models/delete_tag202_response_status.rb +225 -0
  166. data/lib/constant_contact_client/models/device_flow_response.rb +265 -0
  167. data/lib/constant_contact_client/models/did_not_opens_tracking_activities_page.rb +233 -0
  168. data/lib/constant_contact_client/models/did_not_opens_tracking_activity.rb +320 -0
  169. data/lib/constant_contact_client/models/email_address.rb +351 -0
  170. data/lib/constant_contact_client/models/email_address_post.rb +252 -0
  171. data/lib/constant_contact_client/models/email_address_put.rb +341 -0
  172. data/lib/constant_contact_client/models/email_campaign.rb +306 -0
  173. data/lib/constant_contact_client/models/email_campaign_activity.rb +405 -0
  174. data/lib/constant_contact_client/models/email_campaign_activity_input.rb +402 -0
  175. data/lib/constant_contact_client/models/email_campaign_activity_preview.rb +285 -0
  176. data/lib/constant_contact_client/models/email_campaign_complete.rb +260 -0
  177. data/lib/constant_contact_client/models/email_campaign_name.rb +241 -0
  178. data/lib/constant_contact_client/models/email_campaigns.rb +294 -0
  179. data/lib/constant_contact_client/models/email_link_click_count.rb +265 -0
  180. data/lib/constant_contact_client/models/email_links.rb +227 -0
  181. data/lib/constant_contact_client/models/email_physical_address.rb +346 -0
  182. data/lib/constant_contact_client/models/email_schedule_input.rb +222 -0
  183. data/lib/constant_contact_client/models/email_test_send_input.rb +253 -0
  184. data/lib/constant_contact_client/models/emails_link.rb +214 -0
  185. data/lib/constant_contact_client/models/emails_paging_links.rb +214 -0
  186. data/lib/constant_contact_client/models/file_object.rb +384 -0
  187. data/lib/constant_contact_client/models/file_status_array_inner.rb +235 -0
  188. data/lib/constant_contact_client/models/forwards_tracking_activities_page.rb +233 -0
  189. data/lib/constant_contact_client/models/forwards_tracking_activity.rb +320 -0
  190. data/lib/constant_contact_client/models/get_ab_test_email_campaign200_response.rb +256 -0
  191. data/lib/constant_contact_client/models/get_account_details200_response.rb +352 -0
  192. data/lib/constant_contact_client/models/get_account_details200_response_company_logo.rb +236 -0
  193. data/lib/constant_contact_client/models/get_account_details200_response_physical_address.rb +409 -0
  194. data/lib/constant_contact_client/models/get_activity_by_id200_response.rb +316 -0
  195. data/lib/constant_contact_client/models/get_all_account_email_addresses200_response_inner.rb +317 -0
  196. data/lib/constant_contact_client/models/get_all_activities200_response.rb +226 -0
  197. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner.rb +316 -0
  198. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_links.rb +223 -0
  199. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_links_results.rb +215 -0
  200. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_links_self.rb +215 -0
  201. data/lib/constant_contact_client/models/get_all_activities200_response_activities_inner_status.rb +275 -0
  202. data/lib/constant_contact_client/models/get_all_activities200_response_links.rb +214 -0
  203. data/lib/constant_contact_client/models/get_all_activities200_response_links_next.rb +214 -0
  204. data/lib/constant_contact_client/models/get_all_contacts200_response.rb +246 -0
  205. data/lib/constant_contact_client/models/get_all_custom_fields200_response.rb +245 -0
  206. data/lib/constant_contact_client/models/get_all_email_campaigns200_response.rb +225 -0
  207. data/lib/constant_contact_client/models/get_all_email_campaigns200_response_campaigns_inner.rb +294 -0
  208. data/lib/constant_contact_client/models/get_all_email_campaigns200_response_links.rb +214 -0
  209. data/lib/constant_contact_client/models/get_all_lists200_response.rb +235 -0
  210. data/lib/constant_contact_client/models/get_all_segments200_response.rb +233 -0
  211. data/lib/constant_contact_client/models/get_all_segments200_response_links.rb +222 -0
  212. data/lib/constant_contact_client/models/get_all_segments200_response_links_next.rb +223 -0
  213. data/lib/constant_contact_client/models/get_all_segments200_response_segments_inner.rb +245 -0
  214. data/lib/constant_contact_client/models/get_all_tags200_response.rb +226 -0
  215. data/lib/constant_contact_client/models/get_all_tags200_response_links.rb +215 -0
  216. data/lib/constant_contact_client/models/get_all_tags200_response_links_next.rb +224 -0
  217. data/lib/constant_contact_client/models/get_all_tags200_response_links_next_next.rb +223 -0
  218. data/lib/constant_contact_client/models/get_bounces_report200_response.rb +240 -0
  219. data/lib/constant_contact_client/models/get_bounces_report200_response_links.rb +222 -0
  220. data/lib/constant_contact_client/models/get_bounces_report200_response_tracking_activities_inner.rb +347 -0
  221. data/lib/constant_contact_client/models/get_campaign_activity_link_report200_response.rb +227 -0
  222. data/lib/constant_contact_client/models/get_campaign_activity_link_report200_response_link_click_counts_inner.rb +265 -0
  223. data/lib/constant_contact_client/models/get_clicks_report200_response.rb +233 -0
  224. data/lib/constant_contact_client/models/get_clicks_report200_response_links.rb +222 -0
  225. data/lib/constant_contact_client/models/get_clicks_report200_response_tracking_activities_inner.rb +364 -0
  226. data/lib/constant_contact_client/models/get_contact_adds200_response.rb +240 -0
  227. data/lib/constant_contact_client/models/get_contact_adds200_response_tracking_activities_inner.rb +329 -0
  228. data/lib/constant_contact_client/models/get_contact_by_id200_response.rb +635 -0
  229. data/lib/constant_contact_client/models/get_contact_by_id200_response_custom_fields_inner.rb +259 -0
  230. data/lib/constant_contact_client/models/get_contact_by_id200_response_email_address.rb +351 -0
  231. data/lib/constant_contact_client/models/get_contact_by_id200_response_notes_inner.rb +255 -0
  232. data/lib/constant_contact_client/models/get_contact_by_id200_response_phone_numbers_inner.rb +294 -0
  233. data/lib/constant_contact_client/models/get_contact_by_id200_response_sms_channel.rb +278 -0
  234. data/lib/constant_contact_client/models/get_contact_by_id200_response_sms_channel_sms_channel_consents_inner.rb +285 -0
  235. data/lib/constant_contact_client/models/get_contact_by_id200_response_street_addresses_inner.rb +397 -0
  236. data/lib/constant_contact_client/models/get_contact_counts200_response.rb +265 -0
  237. data/lib/constant_contact_client/models/get_contact_id_xrefs200_response.rb +236 -0
  238. data/lib/constant_contact_client/models/get_contact_id_xrefs200_response_xrefs_inner.rb +226 -0
  239. data/lib/constant_contact_client/models/get_contact_open_click_rate_report200_response.rb +274 -0
  240. data/lib/constant_contact_client/models/get_contact_tracking_count_report200_response.rb +250 -0
  241. data/lib/constant_contact_client/models/get_contact_tracking_count_report200_response_campaign_activities_inner.rb +341 -0
  242. data/lib/constant_contact_client/models/get_contact_tracking_count_report200_response_links.rb +222 -0
  243. data/lib/constant_contact_client/models/get_contact_tracking_report200_response.rb +227 -0
  244. data/lib/constant_contact_client/models/get_contact_tracking_report200_response_links.rb +222 -0
  245. data/lib/constant_contact_client/models/get_contact_tracking_report200_response_links_next.rb +223 -0
  246. data/lib/constant_contact_client/models/get_contact_tracking_report200_response_tracking_activities_inner.rb +270 -0
  247. data/lib/constant_contact_client/models/get_custom_field200_response.rb +318 -0
  248. data/lib/constant_contact_client/models/get_did_not_opens_report200_response.rb +233 -0
  249. data/lib/constant_contact_client/models/get_did_not_opens_report200_response_tracking_activities_inner.rb +320 -0
  250. data/lib/constant_contact_client/models/get_email_campaign_activity200_response.rb +405 -0
  251. data/lib/constant_contact_client/models/get_email_campaign_activity200_response_document_properties.rb +520 -0
  252. data/lib/constant_contact_client/models/get_email_campaign_activity200_response_physical_address_in_footer.rb +347 -0
  253. data/lib/constant_contact_client/models/get_email_campaign_activity_preview200_response.rb +285 -0
  254. data/lib/constant_contact_client/models/get_email_campaign_activity_report200_response.rb +229 -0
  255. data/lib/constant_contact_client/models/get_email_campaign_activity_report200_response_results_inner.rb +244 -0
  256. data/lib/constant_contact_client/models/get_email_campaign_activity_report200_response_results_inner_stats.rb +476 -0
  257. data/lib/constant_contact_client/models/get_email_campaign_activity_schedule200_response_inner.rb +215 -0
  258. data/lib/constant_contact_client/models/get_email_campaign_activity_send_history200_response_inner.rb +298 -0
  259. data/lib/constant_contact_client/models/get_email_campaign_report200_response.rb +249 -0
  260. data/lib/constant_contact_client/models/get_email_campaign_report200_response_aggregate_percents.rb +256 -0
  261. data/lib/constant_contact_client/models/get_email_campaign_report200_response_bulk_email_campaign_summaries_inner.rb +272 -0
  262. data/lib/constant_contact_client/models/get_email_campaign_report200_response_bulk_email_campaign_summaries_inner_unique_counts.rb +342 -0
  263. data/lib/constant_contact_client/models/get_email_campaign_xrefs200_response.rb +217 -0
  264. data/lib/constant_contact_client/models/get_email_campaign_xrefs200_response_xrefs_inner.rb +235 -0
  265. data/lib/constant_contact_client/models/get_email_opens_report200_response.rb +233 -0
  266. data/lib/constant_contact_client/models/get_email_opens_report200_response_tracking_activities_inner.rb +330 -0
  267. data/lib/constant_contact_client/models/get_email_sends_report200_response.rb +233 -0
  268. data/lib/constant_contact_client/models/get_email_sends_report200_response_links.rb +222 -0
  269. data/lib/constant_contact_client/models/get_email_sends_report200_response_tracking_activities_inner.rb +320 -0
  270. data/lib/constant_contact_client/models/get_email_stats_report200_response.rb +229 -0
  271. data/lib/constant_contact_client/models/get_email_stats_report200_response_errors_inner.rb +225 -0
  272. data/lib/constant_contact_client/models/get_email_stats_report200_response_results_inner.rb +243 -0
  273. data/lib/constant_contact_client/models/get_email_stats_report200_response_results_inner_percents.rb +296 -0
  274. data/lib/constant_contact_client/models/get_email_stats_report200_response_results_inner_stats.rb +396 -0
  275. data/lib/constant_contact_client/models/get_forwards_report200_response.rb +233 -0
  276. data/lib/constant_contact_client/models/get_forwards_report200_response_tracking_activities_inner.rb +320 -0
  277. data/lib/constant_contact_client/models/get_list200_response.rb +301 -0
  278. data/lib/constant_contact_client/models/get_list_id_xrefs200_response.rb +236 -0
  279. data/lib/constant_contact_client/models/get_list_id_xrefs200_response_xrefs_inner.rb +226 -0
  280. data/lib/constant_contact_client/models/get_optouts_report200_response.rb +240 -0
  281. data/lib/constant_contact_client/models/get_optouts_report200_response_tracking_activities_inner.rb +330 -0
  282. data/lib/constant_contact_client/models/get_resend_email_campaign200_response_inner.rb +265 -0
  283. data/lib/constant_contact_client/models/get_sms_engagement_history200_response_inner.rb +255 -0
  284. data/lib/constant_contact_client/models/get_sms_engagement_history200_response_inner_history_details.rb +316 -0
  285. data/lib/constant_contact_client/models/get_tag200_response.rb +265 -0
  286. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response.rb +240 -0
  287. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_links.rb +222 -0
  288. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_links_next.rb +223 -0
  289. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_tracking_activities_inner.rb +366 -0
  290. data/lib/constant_contact_client/models/get_unique_contact_clicks200_response_tracking_activities_inner_sms_channel.rb +246 -0
  291. data/lib/constant_contact_client/models/get_unique_contact_opens200_response.rb +240 -0
  292. data/lib/constant_contact_client/models/get_unique_contact_opens200_response_tracking_activities_inner.rb +339 -0
  293. data/lib/constant_contact_client/models/get_unique_contact_sms_opt_ins200_response.rb +240 -0
  294. data/lib/constant_contact_client/models/get_unique_contact_sms_opt_ins200_response_tracking_activities_inner.rb +329 -0
  295. data/lib/constant_contact_client/models/get_unique_contact_updates200_response.rb +240 -0
  296. data/lib/constant_contact_client/models/get_unique_contact_updates200_response_tracking_activities_inner.rb +329 -0
  297. data/lib/constant_contact_client/models/get_user_privileges200_response_inner.rb +225 -0
  298. data/lib/constant_contact_client/models/headers_object.rb +225 -0
  299. data/lib/constant_contact_client/models/history_details.rb +316 -0
  300. data/lib/constant_contact_client/models/json_import_contact.rb +1315 -0
  301. data/lib/constant_contact_client/models/link.rb +214 -0
  302. data/lib/constant_contact_client/models/links.rb +221 -0
  303. data/lib/constant_contact_client/models/list_activity_add_contacts.rb +268 -0
  304. data/lib/constant_contact_client/models/list_activity_remove_contacts.rb +268 -0
  305. data/lib/constant_contact_client/models/list_id_list100.rb +243 -0
  306. data/lib/constant_contact_client/models/list_input.rb +263 -0
  307. data/lib/constant_contact_client/models/list_xref.rb +226 -0
  308. data/lib/constant_contact_client/models/list_xrefs.rb +236 -0
  309. data/lib/constant_contact_client/models/lpreporting_links.rb +221 -0
  310. data/lib/constant_contact_client/models/lpreporting_next.rb +222 -0
  311. data/lib/constant_contact_client/models/model_next.rb +222 -0
  312. data/lib/constant_contact_client/models/my_library_file_collection_inner.rb +384 -0
  313. data/lib/constant_contact_client/models/my_library_file_collection_inner_thumbnail.rb +235 -0
  314. data/lib/constant_contact_client/models/note.rb +255 -0
  315. data/lib/constant_contact_client/models/o_auth_error.rb +223 -0
  316. data/lib/constant_contact_client/models/opens_tracking_activities_page.rb +233 -0
  317. data/lib/constant_contact_client/models/opens_tracking_activity.rb +330 -0
  318. data/lib/constant_contact_client/models/optouts_tracking_activities_page.rb +240 -0
  319. data/lib/constant_contact_client/models/optouts_tracking_activity.rb +330 -0
  320. data/lib/constant_contact_client/models/p_contact_add_tracking_activities_page.rb +240 -0
  321. data/lib/constant_contact_client/models/p_contact_add_tracking_activity.rb +329 -0
  322. data/lib/constant_contact_client/models/p_contact_click_tracking_activities_page.rb +240 -0
  323. data/lib/constant_contact_client/models/p_contact_click_tracking_activity.rb +366 -0
  324. data/lib/constant_contact_client/models/p_contact_open_tracking_activity.rb +339 -0
  325. data/lib/constant_contact_client/models/p_contact_opens_tracking_activities_page.rb +240 -0
  326. data/lib/constant_contact_client/models/p_contact_sms_opt_in_tracking_activities_page.rb +240 -0
  327. data/lib/constant_contact_client/models/p_contact_sms_opt_in_tracking_activity.rb +329 -0
  328. data/lib/constant_contact_client/models/p_contact_update_tracking_activities_page.rb +240 -0
  329. data/lib/constant_contact_client/models/p_contact_update_tracking_activity.rb +329 -0
  330. data/lib/constant_contact_client/models/paged_email_campaign_response.rb +225 -0
  331. data/lib/constant_contact_client/models/pagination_links.rb +214 -0
  332. data/lib/constant_contact_client/models/pagination_links_next.rb +215 -0
  333. data/lib/constant_contact_client/models/paging_links.rb +214 -0
  334. data/lib/constant_contact_client/models/partner_account.rb +233 -0
  335. data/lib/constant_contact_client/models/partner_account_links.rb +215 -0
  336. data/lib/constant_contact_client/models/partner_account_operations_request.rb +286 -0
  337. data/lib/constant_contact_client/models/partner_account_operations_request_account_operation_headers_inner.rb +225 -0
  338. data/lib/constant_contact_client/models/partner_account_operations_request_account_operation_path_parameters_inner.rb +225 -0
  339. data/lib/constant_contact_client/models/partner_account_operations_request_account_operation_query_parameters_inner.rb +225 -0
  340. data/lib/constant_contact_client/models/partner_account_site_owner_list_inner.rb +265 -0
  341. data/lib/constant_contact_client/models/partners_link.rb +214 -0
  342. data/lib/constant_contact_client/models/patch_email_campaign_name_request.rb +241 -0
  343. data/lib/constant_contact_client/models/path_param_object.rb +225 -0
  344. data/lib/constant_contact_client/models/percents_email.rb +295 -0
  345. data/lib/constant_contact_client/models/phone_number.rb +294 -0
  346. data/lib/constant_contact_client/models/phone_number_put.rb +244 -0
  347. data/lib/constant_contact_client/models/plan_info.rb +236 -0
  348. data/lib/constant_contact_client/models/plan_tiers_object.rb +248 -0
  349. data/lib/constant_contact_client/models/plan_tiers_object_current_tiers_inner.rb +278 -0
  350. data/lib/constant_contact_client/models/post_custom_field_delete201_response.rb +297 -0
  351. data/lib/constant_contact_client/models/post_custom_field_delete_request.rb +243 -0
  352. data/lib/constant_contact_client/models/post_tag_request.rb +260 -0
  353. data/lib/constant_contact_client/models/provision.rb +723 -0
  354. data/lib/constant_contact_client/models/provision_response.rb +225 -0
  355. data/lib/constant_contact_client/models/put_tag_request.rb +250 -0
  356. data/lib/constant_contact_client/models/query_param_object.rb +225 -0
  357. data/lib/constant_contact_client/models/reporting_links.rb +221 -0
  358. data/lib/constant_contact_client/models/reporting_next.rb +222 -0
  359. data/lib/constant_contact_client/models/resend_to_non_openers_input.rb +242 -0
  360. data/lib/constant_contact_client/models/resend_to_non_openers_object.rb +255 -0
  361. data/lib/constant_contact_client/models/schedule_email_campaign_activity_request.rb +222 -0
  362. data/lib/constant_contact_client/models/segment_data.rb +258 -0
  363. data/lib/constant_contact_client/models/segment_detail.rb +274 -0
  364. data/lib/constant_contact_client/models/segment_master.rb +245 -0
  365. data/lib/constant_contact_client/models/segment_name.rb +222 -0
  366. data/lib/constant_contact_client/models/segments_dto.rb +233 -0
  367. data/lib/constant_contact_client/models/sends_tracking_activities_page.rb +233 -0
  368. data/lib/constant_contact_client/models/sends_tracking_activity.rb +320 -0
  369. data/lib/constant_contact_client/models/sms_channel_consent_details.rb +285 -0
  370. data/lib/constant_contact_client/models/sso_user.rb +439 -0
  371. data/lib/constant_contact_client/models/stats_email.rb +395 -0
  372. data/lib/constant_contact_client/models/stats_email_activity.rb +475 -0
  373. data/lib/constant_contact_client/models/stats_error.rb +225 -0
  374. data/lib/constant_contact_client/models/street_address.rb +397 -0
  375. data/lib/constant_contact_client/models/street_address_put.rb +367 -0
  376. data/lib/constant_contact_client/models/tag.rb +265 -0
  377. data/lib/constant_contact_client/models/tag_add_remove_contacts.rb +268 -0
  378. data/lib/constant_contact_client/models/tag_id_list500_limit.rb +243 -0
  379. data/lib/constant_contact_client/models/tag_post.rb +260 -0
  380. data/lib/constant_contact_client/models/tag_put.rb +250 -0
  381. data/lib/constant_contact_client/models/tags.rb +226 -0
  382. data/lib/constant_contact_client/models/tags_activity_links.rb +214 -0
  383. data/lib/constant_contact_client/models/tags_links.rb +223 -0
  384. data/lib/constant_contact_client/models/tags_paging_links.rb +214 -0
  385. data/lib/constant_contact_client/models/test_send_email_campaign_activity_request.rb +253 -0
  386. data/lib/constant_contact_client/models/tier_object.rb +278 -0
  387. data/lib/constant_contact_client/models/tracking_activity_sms_channel_dto.rb +245 -0
  388. data/lib/constant_contact_client/models/unique_email_counts.rb +341 -0
  389. data/lib/constant_contact_client/models/update_account_request.rb +334 -0
  390. data/lib/constant_contact_client/models/update_contact_request.rb +582 -0
  391. data/lib/constant_contact_client/models/update_contact_request_email_address.rb +341 -0
  392. data/lib/constant_contact_client/models/update_contact_request_phone_numbers_inner.rb +244 -0
  393. data/lib/constant_contact_client/models/update_contact_request_street_addresses_inner.rb +367 -0
  394. data/lib/constant_contact_client/models/update_custom_field_request.rb +258 -0
  395. data/lib/constant_contact_client/models/update_list200_response.rb +291 -0
  396. data/lib/constant_contact_client/models/update_list_request.rb +263 -0
  397. data/lib/constant_contact_client/models/update_segment_name_request.rb +222 -0
  398. data/lib/constant_contact_client/models/webhooks_subscription_body.rb +215 -0
  399. data/lib/constant_contact_client/models/webhooks_subscription_collection_inner.rb +245 -0
  400. data/lib/constant_contact_client/models/webhooks_subscription_put_resp.rb +225 -0
  401. data/lib/constant_contact_client/models/webhooks_subscription_response.rb +245 -0
  402. data/lib/constant_contact_client/models/webhooks_test_send.rb +245 -0
  403. data/lib/constant_contact_client/version.rb +15 -0
  404. data/lib/constant_contact_client.rb +417 -0
  405. data/spec/spec_helper.rb +111 -0
  406. metadata +488 -0
@@ -0,0 +1,439 @@
1
+ =begin
2
+ #Constant Contact API v3
3
+
4
+ #Swagger build version 3.0.2475
5
+
6
+ The version of the OpenAPI document: 1.0.101
7
+ Contact: webservices@constantcontact.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.2.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ConstantContactClient
17
+ # Specify client account user's details. All fields are required.
18
+ class SSOUser
19
+ # The client account user's first name.
20
+ attr_accessor :first_name
21
+
22
+ # The client account user's last name.
23
+ attr_accessor :last_name
24
+
25
+ # The role (<code>account_manager</code> or <code>campaign_creator</code>) to assign the client account user.
26
+ attr_accessor :role_name
27
+
28
+ # The unique email address to associate with the new client account user.
29
+ attr_accessor :contact_email
30
+
31
+ # The login name to associate with the new client account user.
32
+ attr_accessor :login_name
33
+
34
+ # The unique ID used to identify the client account user to the external authenticator.
35
+ attr_accessor :external_id
36
+
37
+ # The unique name used to identify the external provider used to authenticate the client account user. For a list of external providers, contact the Constant Contact Partner Team.
38
+ attr_accessor :external_provider
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'first_name' => :'first_name',
44
+ :'last_name' => :'last_name',
45
+ :'role_name' => :'role_name',
46
+ :'contact_email' => :'contact_email',
47
+ :'login_name' => :'login_name',
48
+ :'external_id' => :'external_id',
49
+ :'external_provider' => :'external_provider'
50
+ }
51
+ end
52
+
53
+ # Returns all the JSON keys this model knows about
54
+ def self.acceptable_attributes
55
+ attribute_map.values
56
+ end
57
+
58
+ # Attribute type mapping.
59
+ def self.openapi_types
60
+ {
61
+ :'first_name' => :'String',
62
+ :'last_name' => :'String',
63
+ :'role_name' => :'String',
64
+ :'contact_email' => :'String',
65
+ :'login_name' => :'String',
66
+ :'external_id' => :'String',
67
+ :'external_provider' => :'String'
68
+ }
69
+ end
70
+
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([
74
+ ])
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ConstantContactClient::SSOUser` initialize method"
82
+ end
83
+
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!self.class.attribute_map.key?(k.to_sym))
87
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ConstantContactClient::SSOUser`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
88
+ end
89
+ h[k.to_sym] = v
90
+ }
91
+
92
+ if attributes.key?(:'first_name')
93
+ self.first_name = attributes[:'first_name']
94
+ else
95
+ self.first_name = nil
96
+ end
97
+
98
+ if attributes.key?(:'last_name')
99
+ self.last_name = attributes[:'last_name']
100
+ else
101
+ self.last_name = nil
102
+ end
103
+
104
+ if attributes.key?(:'role_name')
105
+ self.role_name = attributes[:'role_name']
106
+ else
107
+ self.role_name = nil
108
+ end
109
+
110
+ if attributes.key?(:'contact_email')
111
+ self.contact_email = attributes[:'contact_email']
112
+ else
113
+ self.contact_email = nil
114
+ end
115
+
116
+ if attributes.key?(:'login_name')
117
+ self.login_name = attributes[:'login_name']
118
+ else
119
+ self.login_name = nil
120
+ end
121
+
122
+ if attributes.key?(:'external_id')
123
+ self.external_id = attributes[:'external_id']
124
+ else
125
+ self.external_id = nil
126
+ end
127
+
128
+ if attributes.key?(:'external_provider')
129
+ self.external_provider = attributes[:'external_provider']
130
+ else
131
+ self.external_provider = nil
132
+ end
133
+ end
134
+
135
+ # Show invalid properties with the reasons. Usually used together with valid?
136
+ # @return Array for valid properties with the reasons
137
+ def list_invalid_properties
138
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
139
+ invalid_properties = Array.new
140
+ if @first_name.nil?
141
+ invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
142
+ end
143
+
144
+ if @first_name.to_s.length > 80
145
+ invalid_properties.push('invalid value for "first_name", the character length must be smaller than or equal to 80.')
146
+ end
147
+
148
+ if @last_name.nil?
149
+ invalid_properties.push('invalid value for "last_name", last_name cannot be nil.')
150
+ end
151
+
152
+ if @last_name.to_s.length > 80
153
+ invalid_properties.push('invalid value for "last_name", the character length must be smaller than or equal to 80.')
154
+ end
155
+
156
+ if @role_name.nil?
157
+ invalid_properties.push('invalid value for "role_name", role_name cannot be nil.')
158
+ end
159
+
160
+ if @contact_email.nil?
161
+ invalid_properties.push('invalid value for "contact_email", contact_email cannot be nil.')
162
+ end
163
+
164
+ if @contact_email.to_s.length > 80
165
+ invalid_properties.push('invalid value for "contact_email", the character length must be smaller than or equal to 80.')
166
+ end
167
+
168
+ if @login_name.nil?
169
+ invalid_properties.push('invalid value for "login_name", login_name cannot be nil.')
170
+ end
171
+
172
+ if @login_name.to_s.length > 50
173
+ invalid_properties.push('invalid value for "login_name", the character length must be smaller than or equal to 50.')
174
+ end
175
+
176
+ if @external_id.nil?
177
+ invalid_properties.push('invalid value for "external_id", external_id cannot be nil.')
178
+ end
179
+
180
+ if @external_id.to_s.length > 255
181
+ invalid_properties.push('invalid value for "external_id", the character length must be smaller than or equal to 255.')
182
+ end
183
+
184
+ if @external_provider.nil?
185
+ invalid_properties.push('invalid value for "external_provider", external_provider cannot be nil.')
186
+ end
187
+
188
+ if @external_provider.to_s.length > 80
189
+ invalid_properties.push('invalid value for "external_provider", the character length must be smaller than or equal to 80.')
190
+ end
191
+
192
+ invalid_properties
193
+ end
194
+
195
+ # Check to see if the all the properties in the model are valid
196
+ # @return true if the model is valid
197
+ def valid?
198
+ warn '[DEPRECATED] the `valid?` method is obsolete'
199
+ return false if @first_name.nil?
200
+ return false if @first_name.to_s.length > 80
201
+ return false if @last_name.nil?
202
+ return false if @last_name.to_s.length > 80
203
+ return false if @role_name.nil?
204
+ return false if @contact_email.nil?
205
+ return false if @contact_email.to_s.length > 80
206
+ return false if @login_name.nil?
207
+ return false if @login_name.to_s.length > 50
208
+ return false if @external_id.nil?
209
+ return false if @external_id.to_s.length > 255
210
+ return false if @external_provider.nil?
211
+ return false if @external_provider.to_s.length > 80
212
+ true
213
+ end
214
+
215
+ # Custom attribute writer method with validation
216
+ # @param [Object] first_name Value to be assigned
217
+ def first_name=(first_name)
218
+ if first_name.nil?
219
+ fail ArgumentError, 'first_name cannot be nil'
220
+ end
221
+
222
+ if first_name.to_s.length > 80
223
+ fail ArgumentError, 'invalid value for "first_name", the character length must be smaller than or equal to 80.'
224
+ end
225
+
226
+ @first_name = first_name
227
+ end
228
+
229
+ # Custom attribute writer method with validation
230
+ # @param [Object] last_name Value to be assigned
231
+ def last_name=(last_name)
232
+ if last_name.nil?
233
+ fail ArgumentError, 'last_name cannot be nil'
234
+ end
235
+
236
+ if last_name.to_s.length > 80
237
+ fail ArgumentError, 'invalid value for "last_name", the character length must be smaller than or equal to 80.'
238
+ end
239
+
240
+ @last_name = last_name
241
+ end
242
+
243
+ # Custom attribute writer method with validation
244
+ # @param [Object] contact_email Value to be assigned
245
+ def contact_email=(contact_email)
246
+ if contact_email.nil?
247
+ fail ArgumentError, 'contact_email cannot be nil'
248
+ end
249
+
250
+ if contact_email.to_s.length > 80
251
+ fail ArgumentError, 'invalid value for "contact_email", the character length must be smaller than or equal to 80.'
252
+ end
253
+
254
+ @contact_email = contact_email
255
+ end
256
+
257
+ # Custom attribute writer method with validation
258
+ # @param [Object] login_name Value to be assigned
259
+ def login_name=(login_name)
260
+ if login_name.nil?
261
+ fail ArgumentError, 'login_name cannot be nil'
262
+ end
263
+
264
+ if login_name.to_s.length > 50
265
+ fail ArgumentError, 'invalid value for "login_name", the character length must be smaller than or equal to 50.'
266
+ end
267
+
268
+ @login_name = login_name
269
+ end
270
+
271
+ # Custom attribute writer method with validation
272
+ # @param [Object] external_id Value to be assigned
273
+ def external_id=(external_id)
274
+ if external_id.nil?
275
+ fail ArgumentError, 'external_id cannot be nil'
276
+ end
277
+
278
+ if external_id.to_s.length > 255
279
+ fail ArgumentError, 'invalid value for "external_id", the character length must be smaller than or equal to 255.'
280
+ end
281
+
282
+ @external_id = external_id
283
+ end
284
+
285
+ # Custom attribute writer method with validation
286
+ # @param [Object] external_provider Value to be assigned
287
+ def external_provider=(external_provider)
288
+ if external_provider.nil?
289
+ fail ArgumentError, 'external_provider cannot be nil'
290
+ end
291
+
292
+ if external_provider.to_s.length > 80
293
+ fail ArgumentError, 'invalid value for "external_provider", the character length must be smaller than or equal to 80.'
294
+ end
295
+
296
+ @external_provider = external_provider
297
+ end
298
+
299
+ # Checks equality by comparing each attribute.
300
+ # @param [Object] Object to be compared
301
+ def ==(o)
302
+ return true if self.equal?(o)
303
+ self.class == o.class &&
304
+ first_name == o.first_name &&
305
+ last_name == o.last_name &&
306
+ role_name == o.role_name &&
307
+ contact_email == o.contact_email &&
308
+ login_name == o.login_name &&
309
+ external_id == o.external_id &&
310
+ external_provider == o.external_provider
311
+ end
312
+
313
+ # @see the `==` method
314
+ # @param [Object] Object to be compared
315
+ def eql?(o)
316
+ self == o
317
+ end
318
+
319
+ # Calculates hash code according to all attributes.
320
+ # @return [Integer] Hash code
321
+ def hash
322
+ [first_name, last_name, role_name, contact_email, login_name, external_id, external_provider].hash
323
+ end
324
+
325
+ # Builds the object from hash
326
+ # @param [Hash] attributes Model attributes in the form of hash
327
+ # @return [Object] Returns the model itself
328
+ def self.build_from_hash(attributes)
329
+ return nil unless attributes.is_a?(Hash)
330
+ attributes = attributes.transform_keys(&:to_sym)
331
+ transformed_hash = {}
332
+ openapi_types.each_pair do |key, type|
333
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
334
+ transformed_hash["#{key}"] = nil
335
+ elsif type =~ /\AArray<(.*)>/i
336
+ # check to ensure the input is an array given that the attribute
337
+ # is documented as an array but the input is not
338
+ if attributes[attribute_map[key]].is_a?(Array)
339
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
340
+ end
341
+ elsif !attributes[attribute_map[key]].nil?
342
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
343
+ end
344
+ end
345
+ new(transformed_hash)
346
+ end
347
+
348
+ # Deserializes the data based on type
349
+ # @param string type Data type
350
+ # @param string value Value to be deserialized
351
+ # @return [Object] Deserialized data
352
+ def self._deserialize(type, value)
353
+ case type.to_sym
354
+ when :Time
355
+ Time.parse(value)
356
+ when :Date
357
+ Date.parse(value)
358
+ when :String
359
+ value.to_s
360
+ when :Integer
361
+ value.to_i
362
+ when :Float
363
+ value.to_f
364
+ when :Boolean
365
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
366
+ true
367
+ else
368
+ false
369
+ end
370
+ when :Object
371
+ # generic object (usually a Hash), return directly
372
+ value
373
+ when /\AArray<(?<inner_type>.+)>\z/
374
+ inner_type = Regexp.last_match[:inner_type]
375
+ value.map { |v| _deserialize(inner_type, v) }
376
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
377
+ k_type = Regexp.last_match[:k_type]
378
+ v_type = Regexp.last_match[:v_type]
379
+ {}.tap do |hash|
380
+ value.each do |k, v|
381
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
382
+ end
383
+ end
384
+ else # model
385
+ # models (e.g. Pet) or oneOf
386
+ klass = ConstantContactClient.const_get(type)
387
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
388
+ end
389
+ end
390
+
391
+ # Returns the string representation of the object
392
+ # @return [String] String presentation of the object
393
+ def to_s
394
+ to_hash.to_s
395
+ end
396
+
397
+ # to_body is an alias to to_hash (backward compatibility)
398
+ # @return [Hash] Returns the object in the form of hash
399
+ def to_body
400
+ to_hash
401
+ end
402
+
403
+ # Returns the object in the form of hash
404
+ # @return [Hash] Returns the object in the form of hash
405
+ def to_hash
406
+ hash = {}
407
+ self.class.attribute_map.each_pair do |attr, param|
408
+ value = self.send(attr)
409
+ if value.nil?
410
+ is_nullable = self.class.openapi_nullable.include?(attr)
411
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
412
+ end
413
+
414
+ hash[param] = _to_hash(value)
415
+ end
416
+ hash
417
+ end
418
+
419
+ # Outputs non-array value in the form of hash
420
+ # For object, use to_hash. Otherwise, just return the value
421
+ # @param [Object] value Any valid value
422
+ # @return [Hash] Returns the value in the form of hash
423
+ def _to_hash(value)
424
+ if value.is_a?(Array)
425
+ value.compact.map { |v| _to_hash(v) }
426
+ elsif value.is_a?(Hash)
427
+ {}.tap do |hash|
428
+ value.each { |k, v| hash[k] = _to_hash(v) }
429
+ end
430
+ elsif value.respond_to? :to_hash
431
+ value.to_hash
432
+ else
433
+ value
434
+ end
435
+ end
436
+
437
+ end
438
+
439
+ end