mailslurp_client 17.1.0 → 17.3.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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailslurp_client/api/api_audit_log_controller_api.rb +237 -0
  3. data/lib/mailslurp_client/api/attachment_controller_api.rb +66 -0
  4. data/lib/mailslurp_client/api/bounce_controller_api.rb +126 -0
  5. data/lib/mailslurp_client/api/campaign_probe_controller_api.rb +802 -0
  6. data/lib/mailslurp_client/api/deliverability_test_controller_api.rb +1496 -0
  7. data/lib/mailslurp_client/api/device_previews_controller_api.rb +1012 -0
  8. data/lib/mailslurp_client/api/domain_controller_api.rb +63 -0
  9. data/lib/mailslurp_client/api/domain_monitor_controller_api.rb +1112 -0
  10. data/lib/mailslurp_client/api/email_audit_controller_api.rb +334 -0
  11. data/lib/mailslurp_client/api/email_controller_api.rb +394 -138
  12. data/lib/mailslurp_client/api/inbox_controller_api.rb +144 -4
  13. data/lib/mailslurp_client/api/missed_sms_controller_api.rb +221 -0
  14. data/lib/mailslurp_client/api/phone_controller_api.rb +1314 -83
  15. data/lib/mailslurp_client/api/sms_controller_api.rb +191 -0
  16. data/lib/mailslurp_client/api/tools_controller_api.rb +806 -0
  17. data/lib/mailslurp_client/models/abstract_webhook_payload.rb +15 -15
  18. data/lib/mailslurp_client/models/acquire_phone_pool_lease_options.rb +233 -0
  19. data/lib/mailslurp_client/models/add_phone_pool_numbers_options.rb +213 -0
  20. data/lib/mailslurp_client/models/ai_transform_mapping_projection.rb +39 -39
  21. data/lib/mailslurp_client/models/ai_transform_projection.rb +28 -28
  22. data/lib/mailslurp_client/models/alias_projection.rb +48 -48
  23. data/lib/mailslurp_client/models/alias_thread_projection.rb +44 -44
  24. data/lib/mailslurp_client/models/analyze_dmarc_report_options.rb +248 -0
  25. data/lib/mailslurp_client/models/analyze_dmarc_report_results.rb +386 -0
  26. data/lib/mailslurp_client/models/analyze_email_headers_options.rb +240 -0
  27. data/lib/mailslurp_client/models/analyze_email_headers_results.rb +275 -0
  28. data/lib/mailslurp_client/models/attachment_projection.rb +50 -50
  29. data/lib/mailslurp_client/models/audit_log_event_dto.rb +343 -0
  30. data/lib/mailslurp_client/models/audit_log_page_dto.rb +222 -0
  31. data/lib/mailslurp_client/models/audit_log_search_options.rb +323 -0
  32. data/lib/mailslurp_client/models/available_phone_number_dto.rb +325 -0
  33. data/lib/mailslurp_client/models/available_phone_numbers_result.rb +236 -0
  34. data/lib/mailslurp_client/models/bounce_projection.rb +14 -14
  35. data/lib/mailslurp_client/models/bounce_recipient_projection.rb +10 -10
  36. data/lib/mailslurp_client/models/campaign_probe_dto.rb +411 -0
  37. data/lib/mailslurp_client/models/campaign_probe_insights_dto.rb +408 -0
  38. data/lib/mailslurp_client/models/campaign_probe_run_comparison_dto.rb +397 -0
  39. data/lib/mailslurp_client/models/campaign_probe_run_dto.rb +644 -0
  40. data/lib/mailslurp_client/models/campaign_probe_run_due_result.rb +315 -0
  41. data/lib/mailslurp_client/models/campaign_probe_run_now_result.rb +225 -0
  42. data/lib/mailslurp_client/models/campaign_probe_series_dto.rb +303 -0
  43. data/lib/mailslurp_client/models/campaign_probe_series_point_dto.rb +295 -0
  44. data/lib/mailslurp_client/models/cancel_device_preview_run_options.rb +206 -0
  45. data/lib/mailslurp_client/models/cancel_device_preview_run_result.rb +248 -0
  46. data/lib/mailslurp_client/models/check_campaign_probe_options.rb +371 -0
  47. data/lib/mailslurp_client/models/check_campaign_probe_results.rb +482 -0
  48. data/lib/mailslurp_client/models/check_dns_propagation_options.rb +297 -0
  49. data/lib/mailslurp_client/models/check_dns_propagation_results.rb +361 -0
  50. data/lib/mailslurp_client/models/check_domain_monitor_options.rb +243 -0
  51. data/lib/mailslurp_client/models/check_domain_monitor_results.rb +398 -0
  52. data/lib/mailslurp_client/models/check_email_audit_options.rb +405 -0
  53. data/lib/mailslurp_client/models/check_email_auth_stack_options.rb +248 -0
  54. data/lib/mailslurp_client/models/check_email_auth_stack_results.rb +462 -0
  55. data/lib/mailslurp_client/models/check_email_blacklist_options.rb +241 -0
  56. data/lib/mailslurp_client/models/check_email_blacklist_results.rb +366 -0
  57. data/lib/mailslurp_client/models/code_candidate.rb +303 -0
  58. data/lib/mailslurp_client/models/connector_event_projection.rb +33 -33
  59. data/lib/mailslurp_client/models/connector_projection.rb +42 -42
  60. data/lib/mailslurp_client/models/contact_projection.rb +24 -24
  61. data/lib/mailslurp_client/models/create_campaign_probe_options.rb +290 -0
  62. data/lib/mailslurp_client/models/create_campaign_probe_run_options.rb +264 -0
  63. data/lib/mailslurp_client/models/create_deliverability_simulation_job_options.rb +345 -0
  64. data/lib/mailslurp_client/models/create_deliverability_test_options.rb +372 -0
  65. data/lib/mailslurp_client/models/create_device_preview_feedback_options.rb +405 -0
  66. data/lib/mailslurp_client/models/create_device_preview_options.rb +241 -0
  67. data/lib/mailslurp_client/models/create_device_preview_run_result.rb +225 -0
  68. data/lib/mailslurp_client/models/create_domain_monitor_alert_sink_options.rb +308 -0
  69. data/lib/mailslurp_client/models/create_domain_monitor_options.rb +299 -0
  70. data/lib/mailslurp_client/models/create_email_audit_options.rb +394 -0
  71. data/lib/mailslurp_client/models/create_phone_number_options.rb +25 -4
  72. data/lib/mailslurp_client/models/create_phone_pool_options.rb +220 -0
  73. data/lib/mailslurp_client/models/create_phone_provisioning_job_item_options.rb +256 -0
  74. data/lib/mailslurp_client/models/create_phone_provisioning_job_options.rb +284 -0
  75. data/lib/mailslurp_client/models/delete_device_preview_run_result.rb +253 -0
  76. data/lib/mailslurp_client/models/delete_result.rb +245 -0
  77. data/lib/mailslurp_client/models/deliverability_analytics_run_dto.rb +426 -0
  78. data/lib/mailslurp_client/models/deliverability_analytics_series_dto.rb +342 -0
  79. data/lib/mailslurp_client/models/deliverability_analytics_series_point_dto.rb +240 -0
  80. data/lib/mailslurp_client/models/deliverability_analytics_summary_dto.rb +380 -0
  81. data/lib/mailslurp_client/models/deliverability_entity_result_dto.rb +360 -0
  82. data/lib/mailslurp_client/models/deliverability_entity_result_page_dto.rb +318 -0
  83. data/lib/mailslurp_client/models/deliverability_expectation.rb +276 -0
  84. data/lib/mailslurp_client/models/deliverability_expectation_result_dto.rb +294 -0
  85. data/lib/mailslurp_client/models/deliverability_failure_entity_hotspot_dto.rb +360 -0
  86. data/lib/mailslurp_client/models/deliverability_failure_hotspots_dto.rb +302 -0
  87. data/lib/mailslurp_client/models/deliverability_failure_phone_dimension_hotspot_dto.rb +306 -0
  88. data/lib/mailslurp_client/models/deliverability_poll_status_result_dto.rb +250 -0
  89. data/lib/mailslurp_client/models/deliverability_selector_options.rb +307 -0
  90. data/lib/mailslurp_client/models/deliverability_simulation_email_options.rb +231 -0
  91. data/lib/mailslurp_client/models/deliverability_simulation_job_config_dto.rb +300 -0
  92. data/lib/mailslurp_client/models/deliverability_simulation_job_dto.rb +494 -0
  93. data/lib/mailslurp_client/models/deliverability_simulation_job_error_summary_dto.rb +224 -0
  94. data/lib/mailslurp_client/models/deliverability_simulation_job_event_dto.rb +344 -0
  95. data/lib/mailslurp_client/models/deliverability_simulation_job_event_page_dto.rb +284 -0
  96. data/lib/mailslurp_client/models/deliverability_simulation_job_top_error_dto.rb +226 -0
  97. data/lib/mailslurp_client/models/deliverability_simulation_sms_options.rb +209 -0
  98. data/lib/mailslurp_client/models/deliverability_test_dto.rb +558 -0
  99. data/lib/mailslurp_client/models/deliverability_test_page_dto.rb +270 -0
  100. data/lib/mailslurp_client/models/device_preview_feedback_dto.rb +456 -0
  101. data/lib/mailslurp_client/models/device_preview_feedback_list_dto.rb +255 -0
  102. data/lib/mailslurp_client/models/device_preview_provider_progress_dto.rb +387 -0
  103. data/lib/mailslurp_client/models/device_preview_run_dto.rb +382 -0
  104. data/lib/mailslurp_client/models/device_preview_run_results_dto.rb +243 -0
  105. data/lib/mailslurp_client/models/device_preview_screenshot_dto.rb +389 -0
  106. data/lib/mailslurp_client/models/device_preview_target_dto.rb +368 -0
  107. data/lib/mailslurp_client/models/dmarc_report_metadata.rb +308 -0
  108. data/lib/mailslurp_client/models/dmarc_report_source_summary.rb +274 -0
  109. data/lib/mailslurp_client/models/dns_propagation_resolver_result.rb +252 -0
  110. data/lib/mailslurp_client/models/domain_monitor_alert_sink_dto.rb +369 -0
  111. data/lib/mailslurp_client/models/domain_monitor_dto.rb +383 -0
  112. data/lib/mailslurp_client/models/domain_monitor_insights_dto.rb +422 -0
  113. data/lib/mailslurp_client/models/domain_monitor_run_comparison_dto.rb +369 -0
  114. data/lib/mailslurp_client/models/domain_monitor_run_dto.rb +492 -0
  115. data/lib/mailslurp_client/models/domain_monitor_run_due_result.rb +287 -0
  116. data/lib/mailslurp_client/models/domain_monitor_run_now_result.rb +225 -0
  117. data/lib/mailslurp_client/models/domain_monitor_series_dto.rb +303 -0
  118. data/lib/mailslurp_client/models/domain_monitor_series_point_dto.rb +309 -0
  119. data/lib/mailslurp_client/models/domain_monitor_summary_dto.rb +248 -0
  120. data/lib/mailslurp_client/models/domain_region_group.rb +261 -0
  121. data/lib/mailslurp_client/models/domain_region_groups_dto.rb +214 -0
  122. data/lib/mailslurp_client/models/domain_region_information.rb +338 -0
  123. data/lib/mailslurp_client/models/email_audit_analysis_result.rb +620 -0
  124. data/lib/mailslurp_client/models/email_audit_comparison_dto.rb +411 -0
  125. data/lib/mailslurp_client/models/email_audit_dto.rb +308 -0
  126. data/lib/mailslurp_client/models/email_audit_spelling_issue.rb +276 -0
  127. data/lib/mailslurp_client/models/email_audit_url_issue.rb +236 -0
  128. data/lib/mailslurp_client/models/email_blacklist_ip_result.rb +242 -0
  129. data/lib/mailslurp_client/models/email_blacklist_listing_result.rb +258 -0
  130. data/lib/mailslurp_client/models/email_header_analysis_summary.rb +242 -0
  131. data/lib/mailslurp_client/models/email_header_received_hop.rb +242 -0
  132. data/lib/mailslurp_client/models/email_projection.rb +66 -66
  133. data/lib/mailslurp_client/models/email_signature.rb +254 -0
  134. data/lib/mailslurp_client/models/email_signature_parse_result.rb +223 -0
  135. data/lib/mailslurp_client/models/email_thread_projection.rb +78 -78
  136. data/lib/mailslurp_client/models/entity_automation_item_projection.rb +27 -27
  137. data/lib/mailslurp_client/models/entity_event_item_projection.rb +45 -45
  138. data/lib/mailslurp_client/models/entity_favourite_item_projection.rb +29 -29
  139. data/lib/mailslurp_client/models/expired_inbox_record_projection.rb +27 -27
  140. data/lib/mailslurp_client/models/extract_attachment_text_options.rb +268 -0
  141. data/lib/mailslurp_client/models/extract_attachment_text_result.rb +297 -0
  142. data/lib/mailslurp_client/models/extract_codes_options.rb +304 -0
  143. data/lib/mailslurp_client/models/extract_codes_result.rb +303 -0
  144. data/lib/mailslurp_client/models/generate_spf_record_options.rb +357 -0
  145. data/lib/mailslurp_client/models/generate_spf_record_results.rb +318 -0
  146. data/lib/mailslurp_client/models/get_or_create_phone_pool_options.rb +220 -0
  147. data/lib/mailslurp_client/models/group_projection.rb +15 -15
  148. data/lib/mailslurp_client/models/guest_portal_user_projection.rb +50 -50
  149. data/lib/mailslurp_client/models/imap_email_projection.rb +18 -18
  150. data/lib/mailslurp_client/models/inbox_dto.rb +2 -2
  151. data/lib/mailslurp_client/models/inbox_forwarder_event_projection.rb +21 -21
  152. data/lib/mailslurp_client/models/inbox_preview.rb +2 -2
  153. data/lib/mailslurp_client/models/inbox_replier_event_projection.rb +33 -33
  154. data/lib/mailslurp_client/models/list_unsubscribe_recipient_projection.rb +19 -19
  155. data/lib/mailslurp_client/models/lookup_dkim_domain_options.rb +275 -0
  156. data/lib/mailslurp_client/models/lookup_dkim_domain_results.rb +304 -0
  157. data/lib/mailslurp_client/models/lookup_ptr_options.rb +241 -0
  158. data/lib/mailslurp_client/models/lookup_ptr_results.rb +305 -0
  159. data/lib/mailslurp_client/models/lookup_spf_domain_options.rb +240 -0
  160. data/lib/mailslurp_client/models/lookup_spf_domain_results.rb +305 -0
  161. data/lib/mailslurp_client/models/missed_email_projection.rb +28 -28
  162. data/lib/mailslurp_client/models/missed_sms_dto.rb +320 -0
  163. data/lib/mailslurp_client/models/missed_sms_projection.rb +282 -0
  164. data/lib/mailslurp_client/models/opt_in_identity_projection.rb +24 -24
  165. data/lib/mailslurp_client/models/organization_inbox_projection.rb +2 -2
  166. data/lib/mailslurp_client/models/page_ai_transform_mapping_projection.rb +19 -19
  167. data/lib/mailslurp_client/models/page_ai_transform_projection.rb +19 -19
  168. data/lib/mailslurp_client/models/page_ai_transform_result_projection.rb +19 -19
  169. data/lib/mailslurp_client/models/page_alias.rb +19 -19
  170. data/lib/mailslurp_client/models/page_alias_thread_projection.rb +19 -19
  171. data/lib/mailslurp_client/models/page_attachment_entity.rb +19 -19
  172. data/lib/mailslurp_client/models/page_bounced_email.rb +19 -19
  173. data/lib/mailslurp_client/models/page_bounced_recipients.rb +19 -19
  174. data/lib/mailslurp_client/models/page_complaint.rb +19 -19
  175. data/lib/mailslurp_client/models/page_connector.rb +19 -19
  176. data/lib/mailslurp_client/models/page_connector_events.rb +19 -19
  177. data/lib/mailslurp_client/models/page_contact_projection.rb +19 -19
  178. data/lib/mailslurp_client/models/page_delivery_status.rb +19 -19
  179. data/lib/mailslurp_client/models/page_device_preview_run_projection.rb +309 -0
  180. data/lib/mailslurp_client/models/page_email_preview.rb +19 -19
  181. data/lib/mailslurp_client/models/page_email_projection.rb +19 -19
  182. data/lib/mailslurp_client/models/page_email_thread_projection.rb +19 -19
  183. data/lib/mailslurp_client/models/page_email_validation_request.rb +19 -19
  184. data/lib/mailslurp_client/models/page_entity_automation_items.rb +19 -19
  185. data/lib/mailslurp_client/models/page_entity_event_items.rb +19 -19
  186. data/lib/mailslurp_client/models/page_entity_favourite_items.rb +19 -19
  187. data/lib/mailslurp_client/models/page_expired_inbox_record_projection.rb +19 -19
  188. data/lib/mailslurp_client/models/page_group_projection.rb +19 -19
  189. data/lib/mailslurp_client/models/page_guest_portal_users.rb +19 -19
  190. data/lib/mailslurp_client/models/page_inbox_forwarder_dto.rb +19 -19
  191. data/lib/mailslurp_client/models/page_inbox_forwarder_events.rb +19 -19
  192. data/lib/mailslurp_client/models/page_inbox_projection.rb +19 -19
  193. data/lib/mailslurp_client/models/page_inbox_replier_dto.rb +19 -19
  194. data/lib/mailslurp_client/models/page_inbox_replier_events.rb +19 -19
  195. data/lib/mailslurp_client/models/page_inbox_tags.rb +19 -19
  196. data/lib/mailslurp_client/models/page_list_unsubscribe_recipients.rb +19 -19
  197. data/lib/mailslurp_client/models/page_missed_email_projection.rb +19 -19
  198. data/lib/mailslurp_client/models/page_missed_sms_projection.rb +309 -0
  199. data/lib/mailslurp_client/models/page_opt_in_identity_projection.rb +19 -19
  200. data/lib/mailslurp_client/models/page_organization_inbox_projection.rb +19 -19
  201. data/lib/mailslurp_client/models/page_phone_message_thread_item_projection.rb +19 -19
  202. data/lib/mailslurp_client/models/page_phone_message_thread_projection.rb +19 -19
  203. data/lib/mailslurp_client/models/page_phone_number_projection.rb +19 -19
  204. data/lib/mailslurp_client/models/page_phone_number_release_projection.rb +19 -19
  205. data/lib/mailslurp_client/models/page_plus_address_projection.rb +19 -19
  206. data/lib/mailslurp_client/models/page_reputation_items.rb +19 -19
  207. data/lib/mailslurp_client/models/page_ruleset_dto.rb +19 -19
  208. data/lib/mailslurp_client/models/page_scheduled_jobs.rb +19 -19
  209. data/lib/mailslurp_client/models/page_sent_email_projection.rb +19 -19
  210. data/lib/mailslurp_client/models/page_sent_email_with_queue_projection.rb +19 -19
  211. data/lib/mailslurp_client/models/page_sent_sms_projection.rb +19 -19
  212. data/lib/mailslurp_client/models/page_sms_projection.rb +19 -19
  213. data/lib/mailslurp_client/models/page_template_projection.rb +19 -19
  214. data/lib/mailslurp_client/models/page_tracking_pixel_projection.rb +19 -19
  215. data/lib/mailslurp_client/models/page_unknown_missed_email_projection.rb +19 -19
  216. data/lib/mailslurp_client/models/page_webhook_endpoint_projection.rb +19 -19
  217. data/lib/mailslurp_client/models/page_webhook_projection.rb +19 -19
  218. data/lib/mailslurp_client/models/page_webhook_result.rb +19 -19
  219. data/lib/mailslurp_client/models/pageable_object.rb +22 -22
  220. data/lib/mailslurp_client/models/phone_message_thread_item_projection.rb +18 -18
  221. data/lib/mailslurp_client/models/phone_number_dto.rb +49 -4
  222. data/lib/mailslurp_client/models/phone_number_line_type_intelligence_dto.rb +242 -0
  223. data/lib/mailslurp_client/models/phone_number_line_type_lookup_dto.rb +286 -0
  224. data/lib/mailslurp_client/models/phone_number_projection.rb +81 -36
  225. data/lib/mailslurp_client/models/phone_number_release_projection.rb +39 -39
  226. data/lib/mailslurp_client/models/phone_pool_detail_dto.rb +334 -0
  227. data/lib/mailslurp_client/models/phone_pool_dto.rb +318 -0
  228. data/lib/mailslurp_client/models/phone_pool_lease_dto.rb +351 -0
  229. data/lib/mailslurp_client/models/phone_pool_member_dto.rb +333 -0
  230. data/lib/mailslurp_client/models/phone_provider_capabilities_result.rb +284 -0
  231. data/lib/mailslurp_client/models/phone_provisioning_job_dto.rb +434 -0
  232. data/lib/mailslurp_client/models/phone_provisioning_job_item_dto.rb +336 -0
  233. data/lib/mailslurp_client/models/phone_sms_prepaid_credit_dto.rb +340 -0
  234. data/lib/mailslurp_client/models/phone_sms_prepaid_credits_dto.rb +241 -0
  235. data/lib/mailslurp_client/models/plus_address_projection.rb +32 -32
  236. data/lib/mailslurp_client/models/recipient_projection.rb +13 -13
  237. data/lib/mailslurp_client/models/reputation_item_projection.rb +41 -41
  238. data/lib/mailslurp_client/models/search_available_phone_numbers_options.rb +377 -0
  239. data/lib/mailslurp_client/models/search_inboxes_options.rb +1 -1
  240. data/lib/mailslurp_client/models/sender_projection.rb +13 -13
  241. data/lib/mailslurp_client/models/sent_email_projection.rb +50 -50
  242. data/lib/mailslurp_client/models/sent_sms_projection.rb +18 -18
  243. data/lib/mailslurp_client/models/sms_projection.rb +18 -18
  244. data/lib/mailslurp_client/models/smtp_auth_diagnostic_result.rb +235 -0
  245. data/lib/mailslurp_client/models/smtp_diagnostic_step.rb +236 -0
  246. data/lib/mailslurp_client/models/smtp_tls_diagnostic_result.rb +245 -0
  247. data/lib/mailslurp_client/models/sort_object.rb +10 -10
  248. data/lib/mailslurp_client/models/spf_mechanism_result.rb +229 -0
  249. data/lib/mailslurp_client/models/template_projection.rb +41 -41
  250. data/lib/mailslurp_client/models/tenant_reputation_finding_dto.rb +322 -0
  251. data/lib/mailslurp_client/models/tenant_reputation_findings_dto.rb +241 -0
  252. data/lib/mailslurp_client/models/tenant_reputation_status_row_dto.rb +372 -0
  253. data/lib/mailslurp_client/models/tenant_reputation_status_summary_dto.rb +241 -0
  254. data/lib/mailslurp_client/models/test_smtp_server_options.rb +337 -0
  255. data/lib/mailslurp_client/models/test_smtp_server_results.rb +297 -0
  256. data/lib/mailslurp_client/models/tracking_pixel_projection.rb +27 -27
  257. data/lib/mailslurp_client/models/unknown_missed_email_projection.rb +27 -27
  258. data/lib/mailslurp_client/models/update_campaign_probe_options.rb +290 -0
  259. data/lib/mailslurp_client/models/update_deliverability_test_options.rb +327 -0
  260. data/lib/mailslurp_client/models/update_device_preview_feedback_options.rb +314 -0
  261. data/lib/mailslurp_client/models/update_domain_monitor_options.rb +266 -0
  262. data/lib/mailslurp_client/models/update_phone_pool_options.rb +215 -0
  263. data/lib/mailslurp_client/models/validation_dto.rb +1 -5
  264. data/lib/mailslurp_client/models/webhook_projection.rb +39 -39
  265. data/lib/mailslurp_client/version.rb +1 -1
  266. data/lib/mailslurp_client.rb +156 -0
  267. metadata +158 -2
@@ -0,0 +1,456 @@
1
+ =begin
2
+ #MailSlurp API
3
+
4
+ #MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository
5
+
6
+ The version of the OpenAPI document: 6.5.2
7
+ Contact: contact@mailslurp.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module MailSlurpClient
16
+ class DevicePreviewFeedbackDto
17
+ attr_accessor :feedback_id
18
+
19
+ attr_accessor :user_id
20
+
21
+ attr_accessor :source
22
+
23
+ attr_accessor :category
24
+
25
+ attr_accessor :status
26
+
27
+ attr_accessor :rating
28
+
29
+ attr_accessor :run_id
30
+
31
+ attr_accessor :target_id
32
+
33
+ attr_accessor :screenshot_id
34
+
35
+ attr_accessor :provider
36
+
37
+ attr_accessor :title
38
+
39
+ attr_accessor :comment
40
+
41
+ attr_accessor :internal_note
42
+
43
+ attr_accessor :session_id
44
+
45
+ attr_accessor :live_view_url
46
+
47
+ attr_accessor :metadata
48
+
49
+ attr_accessor :created_at
50
+
51
+ attr_accessor :updated_at
52
+
53
+ class EnumAttributeValidator
54
+ attr_reader :datatype
55
+ attr_reader :allowable_values
56
+
57
+ def initialize(datatype, allowable_values)
58
+ @allowable_values = allowable_values.map do |value|
59
+ case datatype.to_s
60
+ when /Integer/i
61
+ value.to_i
62
+ when /Float/i
63
+ value.to_f
64
+ else
65
+ value
66
+ end
67
+ end
68
+ end
69
+
70
+ def valid?(value)
71
+ !value || allowable_values.include?(value)
72
+ end
73
+ end
74
+
75
+ # Attribute mapping from ruby-style variable name to JSON key.
76
+ def self.attribute_map
77
+ {
78
+ :'feedback_id' => :'feedbackId',
79
+ :'user_id' => :'userId',
80
+ :'source' => :'source',
81
+ :'category' => :'category',
82
+ :'status' => :'status',
83
+ :'rating' => :'rating',
84
+ :'run_id' => :'runId',
85
+ :'target_id' => :'targetId',
86
+ :'screenshot_id' => :'screenshotId',
87
+ :'provider' => :'provider',
88
+ :'title' => :'title',
89
+ :'comment' => :'comment',
90
+ :'internal_note' => :'internalNote',
91
+ :'session_id' => :'sessionId',
92
+ :'live_view_url' => :'liveViewUrl',
93
+ :'metadata' => :'metadata',
94
+ :'created_at' => :'createdAt',
95
+ :'updated_at' => :'updatedAt'
96
+ }
97
+ end
98
+
99
+ # Attribute type mapping.
100
+ def self.openapi_types
101
+ {
102
+ :'feedback_id' => :'String',
103
+ :'user_id' => :'String',
104
+ :'source' => :'String',
105
+ :'category' => :'String',
106
+ :'status' => :'String',
107
+ :'rating' => :'Integer',
108
+ :'run_id' => :'String',
109
+ :'target_id' => :'String',
110
+ :'screenshot_id' => :'String',
111
+ :'provider' => :'String',
112
+ :'title' => :'String',
113
+ :'comment' => :'String',
114
+ :'internal_note' => :'String',
115
+ :'session_id' => :'String',
116
+ :'live_view_url' => :'String',
117
+ :'metadata' => :'Hash<String, String>',
118
+ :'created_at' => :'DateTime',
119
+ :'updated_at' => :'DateTime'
120
+ }
121
+ end
122
+
123
+ # List of attributes with nullable: true
124
+ def self.openapi_nullable
125
+ Set.new([
126
+ ])
127
+ end
128
+
129
+ # Initializes the object
130
+ # @param [Hash] attributes Model attributes in the form of hash
131
+ def initialize(attributes = {})
132
+ if (!attributes.is_a?(Hash))
133
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::DevicePreviewFeedbackDto` initialize method"
134
+ end
135
+
136
+ # check to see if the attribute exists and convert string to symbol for hash key
137
+ attributes = attributes.each_with_object({}) { |(k, v), h|
138
+ if (!self.class.attribute_map.key?(k.to_sym))
139
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::DevicePreviewFeedbackDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
140
+ end
141
+ h[k.to_sym] = v
142
+ }
143
+
144
+ if attributes.key?(:'feedback_id')
145
+ self.feedback_id = attributes[:'feedback_id']
146
+ end
147
+
148
+ if attributes.key?(:'user_id')
149
+ self.user_id = attributes[:'user_id']
150
+ end
151
+
152
+ if attributes.key?(:'source')
153
+ self.source = attributes[:'source']
154
+ end
155
+
156
+ if attributes.key?(:'category')
157
+ self.category = attributes[:'category']
158
+ end
159
+
160
+ if attributes.key?(:'status')
161
+ self.status = attributes[:'status']
162
+ end
163
+
164
+ if attributes.key?(:'rating')
165
+ self.rating = attributes[:'rating']
166
+ end
167
+
168
+ if attributes.key?(:'run_id')
169
+ self.run_id = attributes[:'run_id']
170
+ end
171
+
172
+ if attributes.key?(:'target_id')
173
+ self.target_id = attributes[:'target_id']
174
+ end
175
+
176
+ if attributes.key?(:'screenshot_id')
177
+ self.screenshot_id = attributes[:'screenshot_id']
178
+ end
179
+
180
+ if attributes.key?(:'provider')
181
+ self.provider = attributes[:'provider']
182
+ end
183
+
184
+ if attributes.key?(:'title')
185
+ self.title = attributes[:'title']
186
+ end
187
+
188
+ if attributes.key?(:'comment')
189
+ self.comment = attributes[:'comment']
190
+ end
191
+
192
+ if attributes.key?(:'internal_note')
193
+ self.internal_note = attributes[:'internal_note']
194
+ end
195
+
196
+ if attributes.key?(:'session_id')
197
+ self.session_id = attributes[:'session_id']
198
+ end
199
+
200
+ if attributes.key?(:'live_view_url')
201
+ self.live_view_url = attributes[:'live_view_url']
202
+ end
203
+
204
+ if attributes.key?(:'metadata')
205
+ if (value = attributes[:'metadata']).is_a?(Hash)
206
+ self.metadata = value
207
+ end
208
+ end
209
+
210
+ if attributes.key?(:'created_at')
211
+ self.created_at = attributes[:'created_at']
212
+ end
213
+
214
+ if attributes.key?(:'updated_at')
215
+ self.updated_at = attributes[:'updated_at']
216
+ end
217
+ end
218
+
219
+ # Show invalid properties with the reasons. Usually used together with valid?
220
+ # @return Array for valid properties with the reasons
221
+ def list_invalid_properties
222
+ invalid_properties = Array.new
223
+ if @feedback_id.nil?
224
+ invalid_properties.push('invalid value for "feedback_id", feedback_id cannot be nil.')
225
+ end
226
+
227
+ if @user_id.nil?
228
+ invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
229
+ end
230
+
231
+ if @source.nil?
232
+ invalid_properties.push('invalid value for "source", source cannot be nil.')
233
+ end
234
+
235
+ if @category.nil?
236
+ invalid_properties.push('invalid value for "category", category cannot be nil.')
237
+ end
238
+
239
+ if @status.nil?
240
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
241
+ end
242
+
243
+ invalid_properties
244
+ end
245
+
246
+ # Check to see if the all the properties in the model are valid
247
+ # @return true if the model is valid
248
+ def valid?
249
+ return false if @feedback_id.nil?
250
+ return false if @user_id.nil?
251
+ return false if @source.nil?
252
+ source_validator = EnumAttributeValidator.new('String', ["API_SERVICE", "LAB_USER", "END_USER", "SYSTEM"])
253
+ return false unless source_validator.valid?(@source)
254
+ return false if @category.nil?
255
+ category_validator = EnumAttributeValidator.new('String', ["GENERAL", "RUN_QUALITY", "SCREENSHOT_QUALITY", "PROVIDER_ISSUE", "BUG_REPORT", "FEATURE_REQUEST", "NOTE"])
256
+ return false unless category_validator.valid?(@category)
257
+ return false if @status.nil?
258
+ status_validator = EnumAttributeValidator.new('String', ["OPEN", "ACKNOWLEDGED", "RESOLVED", "DISMISSED"])
259
+ return false unless status_validator.valid?(@status)
260
+ provider_validator = EnumAttributeValidator.new('String', ["GMAIL", "OUTLOOK", "YAHOO"])
261
+ return false unless provider_validator.valid?(@provider)
262
+ true
263
+ end
264
+
265
+ # Custom attribute writer method checking allowed values (enum).
266
+ # @param [Object] source Object to be assigned
267
+ def source=(source)
268
+ validator = EnumAttributeValidator.new('String', ["API_SERVICE", "LAB_USER", "END_USER", "SYSTEM"])
269
+ unless validator.valid?(source)
270
+ fail ArgumentError, "invalid value for \"source\", must be one of #{validator.allowable_values}."
271
+ end
272
+ @source = source
273
+ end
274
+
275
+ # Custom attribute writer method checking allowed values (enum).
276
+ # @param [Object] category Object to be assigned
277
+ def category=(category)
278
+ validator = EnumAttributeValidator.new('String', ["GENERAL", "RUN_QUALITY", "SCREENSHOT_QUALITY", "PROVIDER_ISSUE", "BUG_REPORT", "FEATURE_REQUEST", "NOTE"])
279
+ unless validator.valid?(category)
280
+ fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}."
281
+ end
282
+ @category = category
283
+ end
284
+
285
+ # Custom attribute writer method checking allowed values (enum).
286
+ # @param [Object] status Object to be assigned
287
+ def status=(status)
288
+ validator = EnumAttributeValidator.new('String', ["OPEN", "ACKNOWLEDGED", "RESOLVED", "DISMISSED"])
289
+ unless validator.valid?(status)
290
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
291
+ end
292
+ @status = status
293
+ end
294
+
295
+ # Custom attribute writer method checking allowed values (enum).
296
+ # @param [Object] provider Object to be assigned
297
+ def provider=(provider)
298
+ validator = EnumAttributeValidator.new('String', ["GMAIL", "OUTLOOK", "YAHOO"])
299
+ unless validator.valid?(provider)
300
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{validator.allowable_values}."
301
+ end
302
+ @provider = provider
303
+ end
304
+
305
+ # Checks equality by comparing each attribute.
306
+ # @param [Object] Object to be compared
307
+ def ==(o)
308
+ return true if self.equal?(o)
309
+ self.class == o.class &&
310
+ feedback_id == o.feedback_id &&
311
+ user_id == o.user_id &&
312
+ source == o.source &&
313
+ category == o.category &&
314
+ status == o.status &&
315
+ rating == o.rating &&
316
+ run_id == o.run_id &&
317
+ target_id == o.target_id &&
318
+ screenshot_id == o.screenshot_id &&
319
+ provider == o.provider &&
320
+ title == o.title &&
321
+ comment == o.comment &&
322
+ internal_note == o.internal_note &&
323
+ session_id == o.session_id &&
324
+ live_view_url == o.live_view_url &&
325
+ metadata == o.metadata &&
326
+ created_at == o.created_at &&
327
+ updated_at == o.updated_at
328
+ end
329
+
330
+ # @see the `==` method
331
+ # @param [Object] Object to be compared
332
+ def eql?(o)
333
+ self == o
334
+ end
335
+
336
+ # Calculates hash code according to all attributes.
337
+ # @return [Integer] Hash code
338
+ def hash
339
+ [feedback_id, user_id, source, category, status, rating, run_id, target_id, screenshot_id, provider, title, comment, internal_note, session_id, live_view_url, metadata, created_at, updated_at].hash
340
+ end
341
+
342
+ # Builds the object from hash
343
+ # @param [Hash] attributes Model attributes in the form of hash
344
+ # @return [Object] Returns the model itself
345
+ def self.build_from_hash(attributes)
346
+ new.build_from_hash(attributes)
347
+ end
348
+
349
+ # Builds the object from hash
350
+ # @param [Hash] attributes Model attributes in the form of hash
351
+ # @return [Object] Returns the model itself
352
+ def build_from_hash(attributes)
353
+ return nil unless attributes.is_a?(Hash)
354
+ self.class.openapi_types.each_pair do |key, type|
355
+ if type =~ /\AArray<(.*)>/i
356
+ # check to ensure the input is an array given that the attribute
357
+ # is documented as an array but the input is not
358
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
359
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
360
+ end
361
+ elsif !attributes[self.class.attribute_map[key]].nil?
362
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
363
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
364
+ end
365
+
366
+ self
367
+ end
368
+
369
+ # Deserializes the data based on type
370
+ # @param string type Data type
371
+ # @param string value Value to be deserialized
372
+ # @return [Object] Deserialized data
373
+ def _deserialize(type, value)
374
+ case type.to_sym
375
+ when :DateTime
376
+ DateTime.parse(value)
377
+ when :Date
378
+ Date.parse(value)
379
+ when :String
380
+ value.to_s
381
+ when :Integer
382
+ value.to_i
383
+ when :Float
384
+ value.to_f
385
+ when :Boolean
386
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
387
+ true
388
+ else
389
+ false
390
+ end
391
+ when :Object
392
+ # generic object (usually a Hash), return directly
393
+ value
394
+ when /\AArray<(?<inner_type>.+)>\z/
395
+ inner_type = Regexp.last_match[:inner_type]
396
+ value.map { |v| _deserialize(inner_type, v) }
397
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
398
+ k_type = Regexp.last_match[:k_type]
399
+ v_type = Regexp.last_match[:v_type]
400
+ {}.tap do |hash|
401
+ value.each do |k, v|
402
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
403
+ end
404
+ end
405
+ else # model
406
+ MailSlurpClient.const_get(type).build_from_hash(value)
407
+ end
408
+ end
409
+
410
+ # Returns the string representation of the object
411
+ # @return [String] String presentation of the object
412
+ def to_s
413
+ to_hash.to_s
414
+ end
415
+
416
+ # to_body is an alias to to_hash (backward compatibility)
417
+ # @return [Hash] Returns the object in the form of hash
418
+ def to_body
419
+ to_hash
420
+ end
421
+
422
+ # Returns the object in the form of hash
423
+ # @return [Hash] Returns the object in the form of hash
424
+ def to_hash
425
+ hash = {}
426
+ self.class.attribute_map.each_pair do |attr, param|
427
+ value = self.send(attr)
428
+ if value.nil?
429
+ is_nullable = self.class.openapi_nullable.include?(attr)
430
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
431
+ end
432
+
433
+ hash[param] = _to_hash(value)
434
+ end
435
+ hash
436
+ end
437
+
438
+ # Outputs non-array value in the form of hash
439
+ # For object, use to_hash. Otherwise, just return the value
440
+ # @param [Object] value Any valid value
441
+ # @return [Hash] Returns the value in the form of hash
442
+ def _to_hash(value)
443
+ if value.is_a?(Array)
444
+ value.compact.map { |v| _to_hash(v) }
445
+ elsif value.is_a?(Hash)
446
+ {}.tap do |hash|
447
+ value.each { |k, v| hash[k] = _to_hash(v) }
448
+ end
449
+ elsif value.respond_to? :to_hash
450
+ value.to_hash
451
+ else
452
+ value
453
+ end
454
+ end
455
+ end
456
+ end
@@ -0,0 +1,255 @@
1
+ =begin
2
+ #MailSlurp API
3
+
4
+ #MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository
5
+
6
+ The version of the OpenAPI document: 6.5.2
7
+ Contact: contact@mailslurp.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module MailSlurpClient
16
+ class DevicePreviewFeedbackListDto
17
+ attr_accessor :total_elements
18
+
19
+ attr_accessor :page
20
+
21
+ attr_accessor :size
22
+
23
+ attr_accessor :items
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'total_elements' => :'totalElements',
29
+ :'page' => :'page',
30
+ :'size' => :'size',
31
+ :'items' => :'items'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'total_elements' => :'Integer',
39
+ :'page' => :'Integer',
40
+ :'size' => :'Integer',
41
+ :'items' => :'Array<DevicePreviewFeedbackDto>'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::DevicePreviewFeedbackListDto` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::DevicePreviewFeedbackListDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'total_elements')
67
+ self.total_elements = attributes[:'total_elements']
68
+ end
69
+
70
+ if attributes.key?(:'page')
71
+ self.page = attributes[:'page']
72
+ end
73
+
74
+ if attributes.key?(:'size')
75
+ self.size = attributes[:'size']
76
+ end
77
+
78
+ if attributes.key?(:'items')
79
+ if (value = attributes[:'items']).is_a?(Array)
80
+ self.items = value
81
+ end
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ invalid_properties = Array.new
89
+ if @total_elements.nil?
90
+ invalid_properties.push('invalid value for "total_elements", total_elements cannot be nil.')
91
+ end
92
+
93
+ if @page.nil?
94
+ invalid_properties.push('invalid value for "page", page cannot be nil.')
95
+ end
96
+
97
+ if @size.nil?
98
+ invalid_properties.push('invalid value for "size", size cannot be nil.')
99
+ end
100
+
101
+ if @items.nil?
102
+ invalid_properties.push('invalid value for "items", items cannot be nil.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ return false if @total_elements.nil?
112
+ return false if @page.nil?
113
+ return false if @size.nil?
114
+ return false if @items.nil?
115
+ true
116
+ end
117
+
118
+ # Checks equality by comparing each attribute.
119
+ # @param [Object] Object to be compared
120
+ def ==(o)
121
+ return true if self.equal?(o)
122
+ self.class == o.class &&
123
+ total_elements == o.total_elements &&
124
+ page == o.page &&
125
+ size == o.size &&
126
+ items == o.items
127
+ end
128
+
129
+ # @see the `==` method
130
+ # @param [Object] Object to be compared
131
+ def eql?(o)
132
+ self == o
133
+ end
134
+
135
+ # Calculates hash code according to all attributes.
136
+ # @return [Integer] Hash code
137
+ def hash
138
+ [total_elements, page, size, items].hash
139
+ end
140
+
141
+ # Builds the object from hash
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ # @return [Object] Returns the model itself
144
+ def self.build_from_hash(attributes)
145
+ new.build_from_hash(attributes)
146
+ end
147
+
148
+ # Builds the object from hash
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ # @return [Object] Returns the model itself
151
+ def build_from_hash(attributes)
152
+ return nil unless attributes.is_a?(Hash)
153
+ self.class.openapi_types.each_pair do |key, type|
154
+ if type =~ /\AArray<(.*)>/i
155
+ # check to ensure the input is an array given that the attribute
156
+ # is documented as an array but the input is not
157
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
158
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
159
+ end
160
+ elsif !attributes[self.class.attribute_map[key]].nil?
161
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
163
+ end
164
+
165
+ self
166
+ end
167
+
168
+ # Deserializes the data based on type
169
+ # @param string type Data type
170
+ # @param string value Value to be deserialized
171
+ # @return [Object] Deserialized data
172
+ def _deserialize(type, value)
173
+ case type.to_sym
174
+ when :DateTime
175
+ DateTime.parse(value)
176
+ when :Date
177
+ Date.parse(value)
178
+ when :String
179
+ value.to_s
180
+ when :Integer
181
+ value.to_i
182
+ when :Float
183
+ value.to_f
184
+ when :Boolean
185
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ true
187
+ else
188
+ false
189
+ end
190
+ when :Object
191
+ # generic object (usually a Hash), return directly
192
+ value
193
+ when /\AArray<(?<inner_type>.+)>\z/
194
+ inner_type = Regexp.last_match[:inner_type]
195
+ value.map { |v| _deserialize(inner_type, v) }
196
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ k_type = Regexp.last_match[:k_type]
198
+ v_type = Regexp.last_match[:v_type]
199
+ {}.tap do |hash|
200
+ value.each do |k, v|
201
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
202
+ end
203
+ end
204
+ else # model
205
+ MailSlurpClient.const_get(type).build_from_hash(value)
206
+ end
207
+ end
208
+
209
+ # Returns the string representation of the object
210
+ # @return [String] String presentation of the object
211
+ def to_s
212
+ to_hash.to_s
213
+ end
214
+
215
+ # to_body is an alias to to_hash (backward compatibility)
216
+ # @return [Hash] Returns the object in the form of hash
217
+ def to_body
218
+ to_hash
219
+ end
220
+
221
+ # Returns the object in the form of hash
222
+ # @return [Hash] Returns the object in the form of hash
223
+ def to_hash
224
+ hash = {}
225
+ self.class.attribute_map.each_pair do |attr, param|
226
+ value = self.send(attr)
227
+ if value.nil?
228
+ is_nullable = self.class.openapi_nullable.include?(attr)
229
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
230
+ end
231
+
232
+ hash[param] = _to_hash(value)
233
+ end
234
+ hash
235
+ end
236
+
237
+ # Outputs non-array value in the form of hash
238
+ # For object, use to_hash. Otherwise, just return the value
239
+ # @param [Object] value Any valid value
240
+ # @return [Hash] Returns the value in the form of hash
241
+ def _to_hash(value)
242
+ if value.is_a?(Array)
243
+ value.compact.map { |v| _to_hash(v) }
244
+ elsif value.is_a?(Hash)
245
+ {}.tap do |hash|
246
+ value.each { |k, v| hash[k] = _to_hash(v) }
247
+ end
248
+ elsif value.respond_to? :to_hash
249
+ value.to_hash
250
+ else
251
+ value
252
+ end
253
+ end
254
+ end
255
+ end