algolia 3.10.1 → 3.11.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 (449) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/Bug_report.yml +1 -1
  3. data/.github/workflows/do-not-edit-this-repository.yml +1 -1
  4. data/.github/workflows/release.yml +1 -1
  5. data/CHANGELOG.md +18 -0
  6. data/Gemfile.lock +1 -1
  7. data/lib/algolia/api/ingestion_client.rb +12 -2
  8. data/lib/algolia/api/search_client.rb +79 -68
  9. data/lib/algolia/models/abtesting/ab_test.rb +0 -5
  10. data/lib/algolia/models/abtesting/ab_test_configuration.rb +0 -5
  11. data/lib/algolia/models/abtesting/ab_test_response.rb +0 -5
  12. data/lib/algolia/models/abtesting/ab_tests_variant.rb +0 -5
  13. data/lib/algolia/models/abtesting/ab_tests_variant_search_params.rb +5 -3
  14. data/lib/algolia/models/abtesting/add_ab_tests_request.rb +0 -5
  15. data/lib/algolia/models/abtesting/add_ab_tests_variant.rb +5 -6
  16. data/lib/algolia/models/abtesting/currency.rb +0 -5
  17. data/lib/algolia/models/abtesting/empty_search.rb +0 -5
  18. data/lib/algolia/models/abtesting/empty_search_filter.rb +0 -5
  19. data/lib/algolia/models/abtesting/error_base.rb +0 -5
  20. data/lib/algolia/models/abtesting/estimate_ab_test_request.rb +0 -5
  21. data/lib/algolia/models/abtesting/estimate_ab_test_response.rb +0 -5
  22. data/lib/algolia/models/abtesting/estimate_configuration.rb +0 -5
  23. data/lib/algolia/models/abtesting/filter_effects.rb +0 -5
  24. data/lib/algolia/models/abtesting/list_ab_tests_response.rb +0 -5
  25. data/lib/algolia/models/abtesting/minimum_detectable_effect.rb +0 -5
  26. data/lib/algolia/models/abtesting/outliers.rb +0 -5
  27. data/lib/algolia/models/abtesting/outliers_filter.rb +0 -5
  28. data/lib/algolia/models/abtesting/schedule_ab_test_response.rb +0 -5
  29. data/lib/algolia/models/abtesting/schedule_ab_tests_request.rb +0 -5
  30. data/lib/algolia/models/abtesting/variant.rb +0 -5
  31. data/lib/algolia/models/analytics/click_position.rb +0 -5
  32. data/lib/algolia/models/analytics/currency_code.rb +0 -5
  33. data/lib/algolia/models/analytics/daily_add_to_cart_rates.rb +0 -5
  34. data/lib/algolia/models/analytics/daily_average_clicks.rb +0 -5
  35. data/lib/algolia/models/analytics/daily_click_through_rates.rb +0 -5
  36. data/lib/algolia/models/analytics/daily_conversion_rates.rb +0 -5
  37. data/lib/algolia/models/analytics/daily_no_click_rates.rb +0 -5
  38. data/lib/algolia/models/analytics/daily_no_results_rates.rb +0 -5
  39. data/lib/algolia/models/analytics/daily_purchase_rates.rb +0 -5
  40. data/lib/algolia/models/analytics/daily_revenue.rb +0 -5
  41. data/lib/algolia/models/analytics/daily_searches.rb +0 -5
  42. data/lib/algolia/models/analytics/daily_searches_no_clicks.rb +0 -5
  43. data/lib/algolia/models/analytics/daily_searches_no_results.rb +0 -5
  44. data/lib/algolia/models/analytics/daily_users.rb +0 -5
  45. data/lib/algolia/models/analytics/error_base.rb +0 -5
  46. data/lib/algolia/models/analytics/get_add_to_cart_rate_response.rb +0 -5
  47. data/lib/algolia/models/analytics/get_average_click_position_response.rb +0 -5
  48. data/lib/algolia/models/analytics/get_click_positions_response.rb +0 -5
  49. data/lib/algolia/models/analytics/get_click_through_rate_response.rb +0 -5
  50. data/lib/algolia/models/analytics/get_conversion_rate_response.rb +0 -5
  51. data/lib/algolia/models/analytics/get_no_click_rate_response.rb +0 -5
  52. data/lib/algolia/models/analytics/get_no_results_rate_response.rb +0 -5
  53. data/lib/algolia/models/analytics/get_purchase_rate_response.rb +0 -5
  54. data/lib/algolia/models/analytics/get_revenue.rb +0 -5
  55. data/lib/algolia/models/analytics/get_searches_count_response.rb +0 -5
  56. data/lib/algolia/models/analytics/get_searches_no_clicks_response.rb +0 -5
  57. data/lib/algolia/models/analytics/get_searches_no_results_response.rb +0 -5
  58. data/lib/algolia/models/analytics/get_status_response.rb +0 -5
  59. data/lib/algolia/models/analytics/get_top_countries_response.rb +0 -5
  60. data/lib/algolia/models/analytics/get_top_filter_attribute.rb +0 -5
  61. data/lib/algolia/models/analytics/get_top_filter_attributes_response.rb +0 -5
  62. data/lib/algolia/models/analytics/get_top_filter_for_attribute.rb +0 -5
  63. data/lib/algolia/models/analytics/get_top_filter_for_attribute_response.rb +0 -5
  64. data/lib/algolia/models/analytics/get_top_filters_no_results_response.rb +0 -5
  65. data/lib/algolia/models/analytics/get_top_filters_no_results_value.rb +0 -5
  66. data/lib/algolia/models/analytics/get_top_filters_no_results_values.rb +0 -5
  67. data/lib/algolia/models/analytics/get_top_hits_response.rb +5 -6
  68. data/lib/algolia/models/analytics/get_top_searches_response.rb +5 -6
  69. data/lib/algolia/models/analytics/get_users_count_response.rb +0 -5
  70. data/lib/algolia/models/analytics/top_country.rb +0 -5
  71. data/lib/algolia/models/analytics/top_hit.rb +0 -5
  72. data/lib/algolia/models/analytics/top_hit_with_analytics.rb +0 -5
  73. data/lib/algolia/models/analytics/top_hit_with_revenue_analytics.rb +0 -5
  74. data/lib/algolia/models/analytics/top_hits_response.rb +0 -5
  75. data/lib/algolia/models/analytics/top_hits_response_with_analytics.rb +0 -5
  76. data/lib/algolia/models/analytics/top_hits_response_with_revenue_analytics.rb +0 -5
  77. data/lib/algolia/models/analytics/top_search.rb +0 -5
  78. data/lib/algolia/models/analytics/top_search_with_analytics.rb +0 -5
  79. data/lib/algolia/models/analytics/top_search_with_revenue_analytics.rb +0 -5
  80. data/lib/algolia/models/analytics/top_searches_response.rb +0 -5
  81. data/lib/algolia/models/analytics/top_searches_response_with_analytics.rb +0 -5
  82. data/lib/algolia/models/analytics/top_searches_response_with_revenue_analytics.rb +0 -5
  83. data/lib/algolia/models/ingestion/auth_algolia.rb +0 -5
  84. data/lib/algolia/models/ingestion/auth_algolia_insights.rb +0 -5
  85. data/lib/algolia/models/ingestion/auth_algolia_insights_partial.rb +0 -5
  86. data/lib/algolia/models/ingestion/auth_algolia_partial.rb +0 -5
  87. data/lib/algolia/models/ingestion/auth_api_key.rb +5 -3
  88. data/lib/algolia/models/ingestion/auth_api_key_partial.rb +5 -3
  89. data/lib/algolia/models/ingestion/auth_basic.rb +6 -3
  90. data/lib/algolia/models/ingestion/auth_basic_partial.rb +5 -3
  91. data/lib/algolia/models/ingestion/auth_google_service_account.rb +6 -3
  92. data/lib/algolia/models/ingestion/auth_google_service_account_partial.rb +5 -3
  93. data/lib/algolia/models/ingestion/auth_input.rb +5 -6
  94. data/lib/algolia/models/ingestion/auth_input_partial.rb +5 -6
  95. data/lib/algolia/models/ingestion/auth_o_auth.rb +7 -3
  96. data/lib/algolia/models/ingestion/auth_o_auth_partial.rb +5 -3
  97. data/lib/algolia/models/ingestion/authentication.rb +0 -5
  98. data/lib/algolia/models/ingestion/authentication_create.rb +0 -5
  99. data/lib/algolia/models/ingestion/authentication_create_response.rb +0 -5
  100. data/lib/algolia/models/ingestion/authentication_search.rb +0 -5
  101. data/lib/algolia/models/ingestion/authentication_update.rb +0 -5
  102. data/lib/algolia/models/ingestion/authentication_update_response.rb +0 -5
  103. data/lib/algolia/models/ingestion/big_commerce_channel.rb +0 -5
  104. data/lib/algolia/models/ingestion/big_commerce_metafield.rb +0 -5
  105. data/lib/algolia/models/ingestion/commercetools_custom_fields.rb +0 -5
  106. data/lib/algolia/models/ingestion/delete_response.rb +0 -5
  107. data/lib/algolia/models/ingestion/destination.rb +0 -5
  108. data/lib/algolia/models/ingestion/destination_create.rb +0 -5
  109. data/lib/algolia/models/ingestion/destination_create_response.rb +0 -5
  110. data/lib/algolia/models/ingestion/destination_index_name.rb +0 -5
  111. data/lib/algolia/models/ingestion/destination_input.rb +5 -6
  112. data/lib/algolia/models/ingestion/destination_search.rb +0 -5
  113. data/lib/algolia/models/ingestion/destination_update.rb +0 -5
  114. data/lib/algolia/models/ingestion/destination_update_response.rb +0 -5
  115. data/lib/algolia/models/ingestion/docker_image_type.rb +1 -2
  116. data/lib/algolia/models/ingestion/docker_streams.rb +0 -5
  117. data/lib/algolia/models/ingestion/docker_streams_input.rb +6 -4
  118. data/lib/algolia/models/ingestion/email_notifications.rb +207 -0
  119. data/lib/algolia/models/ingestion/error_base.rb +0 -5
  120. data/lib/algolia/models/ingestion/event.rb +0 -5
  121. data/lib/algolia/models/ingestion/list_authentications_response.rb +0 -5
  122. data/lib/algolia/models/ingestion/list_destinations_response.rb +0 -5
  123. data/lib/algolia/models/ingestion/list_events_response.rb +0 -5
  124. data/lib/algolia/models/ingestion/list_sources_response.rb +0 -5
  125. data/lib/algolia/models/ingestion/list_tasks_response.rb +0 -5
  126. data/lib/algolia/models/ingestion/list_tasks_response_v1.rb +0 -5
  127. data/lib/algolia/models/ingestion/list_transformations_response.rb +0 -5
  128. data/lib/algolia/models/ingestion/mapping_field_directive.rb +0 -5
  129. data/lib/algolia/models/ingestion/mapping_input.rb +6 -3
  130. data/lib/algolia/models/ingestion/mapping_kit_action.rb +0 -5
  131. data/lib/algolia/models/ingestion/notifications.rb +209 -0
  132. data/lib/algolia/models/ingestion/on_demand_trigger.rb +0 -5
  133. data/lib/algolia/models/ingestion/on_demand_trigger_input.rb +0 -5
  134. data/lib/algolia/models/ingestion/pagination.rb +0 -5
  135. data/lib/algolia/models/ingestion/platform_with_none.rb +5 -6
  136. data/lib/algolia/models/ingestion/policies.rb +205 -0
  137. data/lib/algolia/models/ingestion/push_task_payload.rb +0 -5
  138. data/lib/algolia/models/ingestion/push_task_records.rb +0 -5
  139. data/lib/algolia/models/ingestion/run.rb +0 -5
  140. data/lib/algolia/models/ingestion/run_list_response.rb +0 -5
  141. data/lib/algolia/models/ingestion/run_progress.rb +0 -5
  142. data/lib/algolia/models/ingestion/run_response.rb +0 -5
  143. data/lib/algolia/models/ingestion/run_source_payload.rb +0 -5
  144. data/lib/algolia/models/ingestion/run_source_response.rb +0 -5
  145. data/lib/algolia/models/ingestion/schedule_trigger.rb +0 -5
  146. data/lib/algolia/models/ingestion/schedule_trigger_input.rb +5 -3
  147. data/lib/algolia/models/ingestion/shopify_input.rb +0 -5
  148. data/lib/algolia/models/ingestion/shopify_market.rb +0 -5
  149. data/lib/algolia/models/ingestion/shopify_metafield.rb +0 -5
  150. data/lib/algolia/models/ingestion/source.rb +0 -5
  151. data/lib/algolia/models/ingestion/source_big_commerce.rb +5 -3
  152. data/lib/algolia/models/ingestion/source_big_query.rb +5 -3
  153. data/lib/algolia/models/ingestion/source_commercetools.rb +5 -3
  154. data/lib/algolia/models/ingestion/source_create.rb +0 -5
  155. data/lib/algolia/models/ingestion/source_create_response.rb +0 -5
  156. data/lib/algolia/models/ingestion/source_csv.rb +0 -5
  157. data/lib/algolia/models/ingestion/source_docker.rb +8 -3
  158. data/lib/algolia/models/ingestion/source_ga4_big_query_export.rb +7 -3
  159. data/lib/algolia/models/ingestion/source_input.rb +5 -6
  160. data/lib/algolia/models/ingestion/source_json.rb +0 -5
  161. data/lib/algolia/models/ingestion/source_search.rb +0 -5
  162. data/lib/algolia/models/ingestion/source_shopify.rb +5 -3
  163. data/lib/algolia/models/ingestion/source_update.rb +0 -5
  164. data/lib/algolia/models/ingestion/source_update_commercetools.rb +0 -5
  165. data/lib/algolia/models/ingestion/source_update_docker.rb +5 -3
  166. data/lib/algolia/models/ingestion/source_update_input.rb +5 -6
  167. data/lib/algolia/models/ingestion/source_update_response.rb +0 -5
  168. data/lib/algolia/models/ingestion/source_update_shopify.rb +0 -5
  169. data/lib/algolia/models/ingestion/streaming_input.rb +5 -3
  170. data/lib/algolia/models/ingestion/streaming_trigger.rb +0 -5
  171. data/lib/algolia/models/ingestion/subscription_trigger.rb +0 -5
  172. data/lib/algolia/models/ingestion/task.rb +20 -5
  173. data/lib/algolia/models/ingestion/task_create.rb +22 -9
  174. data/lib/algolia/models/ingestion/task_create_response.rb +0 -5
  175. data/lib/algolia/models/ingestion/task_create_trigger.rb +5 -6
  176. data/lib/algolia/models/ingestion/task_create_v1.rb +0 -5
  177. data/lib/algolia/models/ingestion/task_input.rb +5 -6
  178. data/lib/algolia/models/ingestion/task_search.rb +0 -5
  179. data/lib/algolia/models/ingestion/task_update.rb +22 -9
  180. data/lib/algolia/models/ingestion/task_update_response.rb +0 -5
  181. data/lib/algolia/models/ingestion/task_update_v1.rb +0 -5
  182. data/lib/algolia/models/ingestion/task_v1.rb +20 -5
  183. data/lib/algolia/models/ingestion/transformation.rb +0 -5
  184. data/lib/algolia/models/ingestion/transformation_create.rb +0 -5
  185. data/lib/algolia/models/ingestion/transformation_create_response.rb +0 -5
  186. data/lib/algolia/models/ingestion/transformation_error.rb +0 -5
  187. data/lib/algolia/models/ingestion/transformation_search.rb +0 -5
  188. data/lib/algolia/models/ingestion/transformation_try.rb +0 -5
  189. data/lib/algolia/models/ingestion/transformation_try_response.rb +0 -5
  190. data/lib/algolia/models/ingestion/transformation_update_response.rb +0 -5
  191. data/lib/algolia/models/ingestion/trigger.rb +5 -6
  192. data/lib/algolia/models/ingestion/trigger_update_input.rb +0 -5
  193. data/lib/algolia/models/ingestion/watch_response.rb +0 -5
  194. data/lib/algolia/models/ingestion/window.rb +0 -5
  195. data/lib/algolia/models/insights/added_to_cart_object_ids.rb +7 -3
  196. data/lib/algolia/models/insights/added_to_cart_object_ids_after_search.rb +8 -3
  197. data/lib/algolia/models/insights/clicked_filters.rb +6 -3
  198. data/lib/algolia/models/insights/clicked_object_ids.rb +6 -3
  199. data/lib/algolia/models/insights/clicked_object_ids_after_search.rb +7 -3
  200. data/lib/algolia/models/insights/converted_filters.rb +6 -3
  201. data/lib/algolia/models/insights/converted_object_ids.rb +6 -3
  202. data/lib/algolia/models/insights/converted_object_ids_after_search.rb +6 -3
  203. data/lib/algolia/models/insights/discount.rb +5 -6
  204. data/lib/algolia/models/insights/error_base.rb +0 -5
  205. data/lib/algolia/models/insights/events_items.rb +5 -6
  206. data/lib/algolia/models/insights/events_response.rb +0 -5
  207. data/lib/algolia/models/insights/insights_events.rb +0 -5
  208. data/lib/algolia/models/insights/object_data.rb +0 -5
  209. data/lib/algolia/models/insights/object_data_after_search.rb +0 -5
  210. data/lib/algolia/models/insights/price.rb +5 -6
  211. data/lib/algolia/models/insights/purchased_object_ids.rb +7 -3
  212. data/lib/algolia/models/insights/purchased_object_ids_after_search.rb +8 -3
  213. data/lib/algolia/models/insights/value.rb +5 -6
  214. data/lib/algolia/models/insights/viewed_filters.rb +6 -3
  215. data/lib/algolia/models/insights/viewed_object_ids.rb +6 -3
  216. data/lib/algolia/models/monitoring/error_base.rb +0 -5
  217. data/lib/algolia/models/monitoring/incident.rb +0 -5
  218. data/lib/algolia/models/monitoring/incident_entry.rb +0 -5
  219. data/lib/algolia/models/monitoring/incidents_response.rb +0 -5
  220. data/lib/algolia/models/monitoring/indexing_metric.rb +0 -5
  221. data/lib/algolia/models/monitoring/indexing_time_response.rb +0 -5
  222. data/lib/algolia/models/monitoring/infrastructure_response.rb +0 -5
  223. data/lib/algolia/models/monitoring/inventory_response.rb +0 -5
  224. data/lib/algolia/models/monitoring/latency_metric.rb +0 -5
  225. data/lib/algolia/models/monitoring/latency_response.rb +0 -5
  226. data/lib/algolia/models/monitoring/metrics.rb +0 -5
  227. data/lib/algolia/models/monitoring/probes_metric.rb +0 -5
  228. data/lib/algolia/models/monitoring/server.rb +0 -5
  229. data/lib/algolia/models/monitoring/status_response.rb +0 -5
  230. data/lib/algolia/models/monitoring/time_entry.rb +0 -5
  231. data/lib/algolia/models/personalization/delete_user_profile_response.rb +0 -5
  232. data/lib/algolia/models/personalization/error_base.rb +0 -5
  233. data/lib/algolia/models/personalization/{event_scoring.rb → events_scoring.rb} +3 -8
  234. data/lib/algolia/models/personalization/{facet_scoring.rb → facets_scoring.rb} +3 -8
  235. data/lib/algolia/models/personalization/get_user_token_response.rb +0 -5
  236. data/lib/algolia/models/personalization/personalization_strategy_params.rb +17 -22
  237. data/lib/algolia/models/personalization/set_personalization_strategy_response.rb +0 -5
  238. data/lib/algolia/models/query-suggestions/base_response.rb +0 -5
  239. data/lib/algolia/models/query-suggestions/config_status.rb +0 -5
  240. data/lib/algolia/models/query-suggestions/configuration.rb +0 -5
  241. data/lib/algolia/models/query-suggestions/configuration_response.rb +0 -5
  242. data/lib/algolia/models/query-suggestions/configuration_with_index.rb +0 -5
  243. data/lib/algolia/models/query-suggestions/error_base.rb +0 -5
  244. data/lib/algolia/models/query-suggestions/facet.rb +0 -5
  245. data/lib/algolia/models/query-suggestions/languages.rb +5 -6
  246. data/lib/algolia/models/query-suggestions/log_file.rb +0 -5
  247. data/lib/algolia/models/query-suggestions/source_index.rb +0 -5
  248. data/lib/algolia/models/recommend/around_precision.rb +5 -6
  249. data/lib/algolia/models/recommend/around_radius.rb +5 -6
  250. data/lib/algolia/models/recommend/auto_facet_filter.rb +0 -5
  251. data/lib/algolia/models/recommend/banner.rb +0 -5
  252. data/lib/algolia/models/recommend/banner_image.rb +0 -5
  253. data/lib/algolia/models/recommend/banner_image_url.rb +0 -5
  254. data/lib/algolia/models/recommend/banner_link.rb +0 -5
  255. data/lib/algolia/models/recommend/bought_together_query.rb +0 -5
  256. data/lib/algolia/models/recommend/condition.rb +0 -5
  257. data/lib/algolia/models/recommend/consequence.rb +0 -5
  258. data/lib/algolia/models/recommend/deleted_at_response.rb +0 -5
  259. data/lib/algolia/models/recommend/distinct.rb +5 -6
  260. data/lib/algolia/models/recommend/error_base.rb +0 -5
  261. data/lib/algolia/models/recommend/exhaustive.rb +0 -5
  262. data/lib/algolia/models/recommend/facet_filters.rb +5 -6
  263. data/lib/algolia/models/recommend/facet_ordering.rb +0 -5
  264. data/lib/algolia/models/recommend/facet_stats.rb +0 -5
  265. data/lib/algolia/models/recommend/fallback_params.rb +0 -5
  266. data/lib/algolia/models/recommend/get_recommend_task_response.rb +0 -5
  267. data/lib/algolia/models/recommend/get_recommendations_params.rb +0 -5
  268. data/lib/algolia/models/recommend/get_recommendations_response.rb +0 -5
  269. data/lib/algolia/models/recommend/hide_consequence_object.rb +0 -5
  270. data/lib/algolia/models/recommend/highlight_result.rb +5 -6
  271. data/lib/algolia/models/recommend/highlight_result_option.rb +6 -3
  272. data/lib/algolia/models/recommend/ignore_plurals.rb +5 -6
  273. data/lib/algolia/models/recommend/index_settings_facets.rb +0 -5
  274. data/lib/algolia/models/recommend/inside_bounding_box.rb +5 -6
  275. data/lib/algolia/models/recommend/looking_similar_query.rb +0 -5
  276. data/lib/algolia/models/recommend/matched_geo_location.rb +0 -5
  277. data/lib/algolia/models/recommend/numeric_filters.rb +5 -6
  278. data/lib/algolia/models/recommend/optional_filters.rb +5 -6
  279. data/lib/algolia/models/recommend/optional_words.rb +5 -6
  280. data/lib/algolia/models/recommend/params_consequence.rb +0 -5
  281. data/lib/algolia/models/recommend/personalization.rb +0 -5
  282. data/lib/algolia/models/recommend/promote_consequence_object.rb +0 -5
  283. data/lib/algolia/models/recommend/range.rb +0 -5
  284. data/lib/algolia/models/recommend/ranking_info.rb +0 -5
  285. data/lib/algolia/models/recommend/re_ranking_apply_filter.rb +5 -6
  286. data/lib/algolia/models/recommend/recommend_hit.rb +5 -3
  287. data/lib/algolia/models/recommend/recommend_rule.rb +0 -5
  288. data/lib/algolia/models/recommend/recommend_search_params.rb +0 -5
  289. data/lib/algolia/models/recommend/recommend_updated_at_response.rb +0 -5
  290. data/lib/algolia/models/recommend/recommendations_hit.rb +5 -6
  291. data/lib/algolia/models/recommend/recommendations_request.rb +5 -6
  292. data/lib/algolia/models/recommend/recommendations_results.rb +0 -5
  293. data/lib/algolia/models/recommend/redirect.rb +0 -5
  294. data/lib/algolia/models/recommend/redirect_rule_index_data.rb +0 -5
  295. data/lib/algolia/models/recommend/redirect_rule_index_metadata.rb +0 -5
  296. data/lib/algolia/models/recommend/redirect_url.rb +0 -5
  297. data/lib/algolia/models/recommend/related_query.rb +0 -5
  298. data/lib/algolia/models/recommend/remove_stop_words.rb +5 -6
  299. data/lib/algolia/models/recommend/rendering_content.rb +0 -5
  300. data/lib/algolia/models/recommend/rule_metadata.rb +0 -5
  301. data/lib/algolia/models/recommend/search_recommend_rules_params.rb +0 -5
  302. data/lib/algolia/models/recommend/search_recommend_rules_response.rb +0 -5
  303. data/lib/algolia/models/recommend/snippet_result.rb +5 -6
  304. data/lib/algolia/models/recommend/snippet_result_option.rb +5 -3
  305. data/lib/algolia/models/recommend/tag_filters.rb +5 -6
  306. data/lib/algolia/models/recommend/time_range.rb +0 -5
  307. data/lib/algolia/models/recommend/trending_facet_hit.rb +6 -3
  308. data/lib/algolia/models/recommend/trending_facets_query.rb +0 -5
  309. data/lib/algolia/models/recommend/trending_items_query.rb +0 -5
  310. data/lib/algolia/models/recommend/typo_tolerance.rb +5 -6
  311. data/lib/algolia/models/recommend/value.rb +0 -5
  312. data/lib/algolia/models/recommend/widgets.rb +0 -5
  313. data/lib/algolia/models/search/add_api_key_response.rb +0 -5
  314. data/lib/algolia/models/search/api_key.rb +0 -5
  315. data/lib/algolia/models/search/around_precision.rb +5 -6
  316. data/lib/algolia/models/search/around_radius.rb +5 -6
  317. data/lib/algolia/models/search/assign_user_id_params.rb +0 -5
  318. data/lib/algolia/models/search/attribute_to_update.rb +5 -6
  319. data/lib/algolia/models/search/automatic_facet_filter.rb +0 -5
  320. data/lib/algolia/models/search/automatic_facet_filters.rb +5 -6
  321. data/lib/algolia/models/search/banner.rb +0 -5
  322. data/lib/algolia/models/search/banner_image.rb +0 -5
  323. data/lib/algolia/models/search/banner_image_url.rb +0 -5
  324. data/lib/algolia/models/search/banner_link.rb +0 -5
  325. data/lib/algolia/models/search/batch_assign_user_ids_params.rb +0 -5
  326. data/lib/algolia/models/search/batch_dictionary_entries_params.rb +0 -5
  327. data/lib/algolia/models/search/batch_dictionary_entries_request.rb +0 -5
  328. data/lib/algolia/models/search/batch_params.rb +0 -5
  329. data/lib/algolia/models/search/batch_request.rb +0 -5
  330. data/lib/algolia/models/search/batch_response.rb +0 -5
  331. data/lib/algolia/models/search/batch_write_params.rb +0 -5
  332. data/lib/algolia/models/search/browse_params.rb +5 -6
  333. data/lib/algolia/models/search/browse_params_object.rb +0 -5
  334. data/lib/algolia/models/search/browse_response.rb +0 -5
  335. data/lib/algolia/models/search/built_in_operation.rb +0 -5
  336. data/lib/algolia/models/search/built_in_operation_value.rb +5 -6
  337. data/lib/algolia/models/search/condition.rb +0 -5
  338. data/lib/algolia/models/search/consequence.rb +0 -5
  339. data/lib/algolia/models/search/consequence_hide.rb +0 -5
  340. data/lib/algolia/models/search/consequence_params.rb +0 -5
  341. data/lib/algolia/models/search/consequence_query.rb +5 -6
  342. data/lib/algolia/models/search/consequence_query_object.rb +0 -5
  343. data/lib/algolia/models/search/created_at_response.rb +0 -5
  344. data/lib/algolia/models/search/delete_api_key_response.rb +0 -5
  345. data/lib/algolia/models/search/delete_by_params.rb +0 -5
  346. data/lib/algolia/models/search/delete_source_response.rb +0 -5
  347. data/lib/algolia/models/search/deleted_at_response.rb +0 -5
  348. data/lib/algolia/models/search/dictionary_entry.rb +0 -5
  349. data/lib/algolia/models/search/dictionary_language.rb +0 -5
  350. data/lib/algolia/models/search/dictionary_settings_params.rb +0 -5
  351. data/lib/algolia/models/search/distinct.rb +5 -6
  352. data/lib/algolia/models/search/edit.rb +0 -5
  353. data/lib/algolia/models/search/error_base.rb +0 -5
  354. data/lib/algolia/models/search/exhaustive.rb +0 -5
  355. data/lib/algolia/models/search/facet_filters.rb +5 -6
  356. data/lib/algolia/models/search/facet_hits.rb +0 -5
  357. data/lib/algolia/models/search/facet_ordering.rb +0 -5
  358. data/lib/algolia/models/search/facet_stats.rb +0 -5
  359. data/lib/algolia/models/search/facets.rb +0 -5
  360. data/lib/algolia/models/search/fetched_index.rb +0 -5
  361. data/lib/algolia/models/search/get_api_key_response.rb +0 -5
  362. data/lib/algolia/models/search/get_dictionary_settings_response.rb +0 -5
  363. data/lib/algolia/models/search/get_logs_response.rb +0 -5
  364. data/lib/algolia/models/search/get_objects_params.rb +0 -5
  365. data/lib/algolia/models/search/get_objects_request.rb +0 -5
  366. data/lib/algolia/models/search/get_objects_response.rb +0 -5
  367. data/lib/algolia/models/search/get_task_response.rb +0 -5
  368. data/lib/algolia/models/search/get_top_user_ids_response.rb +0 -5
  369. data/lib/algolia/models/search/has_pending_mappings_response.rb +0 -5
  370. data/lib/algolia/models/search/highlight_result.rb +5 -6
  371. data/lib/algolia/models/search/highlight_result_option.rb +6 -3
  372. data/lib/algolia/models/search/hit.rb +0 -5
  373. data/lib/algolia/models/search/ignore_plurals.rb +5 -6
  374. data/lib/algolia/models/search/index_settings.rb +0 -5
  375. data/lib/algolia/models/search/inside_bounding_box.rb +5 -6
  376. data/lib/algolia/models/search/languages.rb +0 -5
  377. data/lib/algolia/models/search/list_api_keys_response.rb +0 -5
  378. data/lib/algolia/models/search/list_clusters_response.rb +0 -5
  379. data/lib/algolia/models/search/list_indices_response.rb +0 -5
  380. data/lib/algolia/models/search/list_user_ids_response.rb +0 -5
  381. data/lib/algolia/models/search/log.rb +0 -5
  382. data/lib/algolia/models/search/log_query.rb +0 -5
  383. data/lib/algolia/models/search/matched_geo_location.rb +0 -5
  384. data/lib/algolia/models/search/multiple_batch_request.rb +0 -5
  385. data/lib/algolia/models/search/multiple_batch_response.rb +0 -5
  386. data/lib/algolia/models/search/numeric_filters.rb +5 -6
  387. data/lib/algolia/models/search/operation_index_params.rb +0 -5
  388. data/lib/algolia/models/search/optional_filters.rb +5 -6
  389. data/lib/algolia/models/search/optional_words.rb +5 -6
  390. data/lib/algolia/models/search/personalization.rb +0 -5
  391. data/lib/algolia/models/search/promote.rb +5 -6
  392. data/lib/algolia/models/search/promote_object_id.rb +5 -3
  393. data/lib/algolia/models/search/promote_object_ids.rb +5 -3
  394. data/lib/algolia/models/search/range.rb +0 -5
  395. data/lib/algolia/models/search/ranking_info.rb +0 -5
  396. data/lib/algolia/models/search/re_ranking_apply_filter.rb +5 -6
  397. data/lib/algolia/models/search/redirect.rb +0 -5
  398. data/lib/algolia/models/search/redirect_rule_index_data.rb +0 -5
  399. data/lib/algolia/models/search/redirect_rule_index_metadata.rb +0 -5
  400. data/lib/algolia/models/search/redirect_url.rb +0 -5
  401. data/lib/algolia/models/search/remove_stop_words.rb +5 -6
  402. data/lib/algolia/models/search/remove_user_id_response.rb +0 -5
  403. data/lib/algolia/models/search/rendering_content.rb +0 -5
  404. data/lib/algolia/models/search/replace_all_objects_response.rb +0 -5
  405. data/lib/algolia/models/search/replace_source_response.rb +0 -5
  406. data/lib/algolia/models/search/rule.rb +0 -5
  407. data/lib/algolia/models/search/save_object_response.rb +0 -5
  408. data/lib/algolia/models/search/save_synonym_response.rb +0 -5
  409. data/lib/algolia/models/search/search_dictionary_entries_params.rb +0 -5
  410. data/lib/algolia/models/search/search_dictionary_entries_response.rb +0 -5
  411. data/lib/algolia/models/search/search_for_facet_values_request.rb +0 -5
  412. data/lib/algolia/models/search/search_for_facet_values_response.rb +5 -3
  413. data/lib/algolia/models/search/search_for_facets.rb +6 -3
  414. data/lib/algolia/models/search/search_for_hits.rb +0 -5
  415. data/lib/algolia/models/search/search_method_params.rb +0 -5
  416. data/lib/algolia/models/search/search_params.rb +5 -6
  417. data/lib/algolia/models/search/search_params_object.rb +0 -5
  418. data/lib/algolia/models/search/search_params_string.rb +5 -3
  419. data/lib/algolia/models/search/search_query.rb +5 -6
  420. data/lib/algolia/models/search/search_response.rb +0 -5
  421. data/lib/algolia/models/search/search_responses.rb +0 -5
  422. data/lib/algolia/models/search/search_result.rb +5 -6
  423. data/lib/algolia/models/search/search_rules_params.rb +0 -5
  424. data/lib/algolia/models/search/search_rules_response.rb +0 -5
  425. data/lib/algolia/models/search/search_synonyms_params.rb +0 -5
  426. data/lib/algolia/models/search/search_synonyms_response.rb +0 -5
  427. data/lib/algolia/models/search/search_user_ids_params.rb +0 -5
  428. data/lib/algolia/models/search/search_user_ids_response.rb +0 -5
  429. data/lib/algolia/models/search/secured_api_key_restrictions.rb +0 -5
  430. data/lib/algolia/models/search/semantic_search.rb +0 -5
  431. data/lib/algolia/models/search/settings_response.rb +0 -5
  432. data/lib/algolia/models/search/snippet_result.rb +5 -6
  433. data/lib/algolia/models/search/snippet_result_option.rb +5 -3
  434. data/lib/algolia/models/search/source.rb +0 -5
  435. data/lib/algolia/models/search/standard_entries.rb +0 -5
  436. data/lib/algolia/models/search/synonym_hit.rb +0 -5
  437. data/lib/algolia/models/search/tag_filters.rb +5 -6
  438. data/lib/algolia/models/search/time_range.rb +0 -5
  439. data/lib/algolia/models/search/typo_tolerance.rb +5 -6
  440. data/lib/algolia/models/search/update_api_key_response.rb +0 -5
  441. data/lib/algolia/models/search/updated_at_response.rb +0 -5
  442. data/lib/algolia/models/search/updated_at_with_object_id_response.rb +0 -5
  443. data/lib/algolia/models/search/user_highlight_result.rb +0 -5
  444. data/lib/algolia/models/search/user_hit.rb +0 -5
  445. data/lib/algolia/models/search/user_id.rb +0 -5
  446. data/lib/algolia/models/search/value.rb +0 -5
  447. data/lib/algolia/models/search/widgets.rb +0 -5
  448. data/lib/algolia/version.rb +1 -1
  449. metadata +8 -9
@@ -0,0 +1,205 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require "date"
4
+ require "time"
5
+
6
+ module Algolia
7
+ module Ingestion
8
+ # Set of rules for a task.
9
+ class Policies
10
+ # The number of critical failures in a row before blocking the task and sending a notification.
11
+ attr_accessor :critical_threshold
12
+
13
+ # Attribute mapping from ruby-style variable name to JSON key.
14
+ def self.attribute_map
15
+ {
16
+ :critical_threshold => :criticalThreshold
17
+ }
18
+ end
19
+
20
+ # Attribute type mapping.
21
+ def self.types_mapping
22
+ {
23
+ :critical_threshold => :"Integer"
24
+ }
25
+ end
26
+
27
+ # List of attributes with nullable: true
28
+ def self.openapi_nullable
29
+ Set.new(
30
+ []
31
+ )
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ if (!attributes.is_a?(Hash))
38
+ raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Policies` initialize method"
39
+ end
40
+
41
+ # check to see if the attribute exists and convert string to symbol for hash key
42
+ attributes = attributes.each_with_object({}) { |(k, v), h|
43
+ if (!self.class.attribute_map.key?(k.to_sym))
44
+ raise(
45
+ ArgumentError,
46
+ "`#{k}` is not a valid attribute in `Algolia::Policies`. Please check the name to make sure it's valid. List of attributes: " +
47
+ self.class.attribute_map.keys.inspect
48
+ )
49
+ end
50
+
51
+ h[k.to_sym] = v
52
+ }
53
+
54
+ if attributes.key?(:critical_threshold)
55
+ self.critical_threshold = attributes[:critical_threshold]
56
+ end
57
+ end
58
+
59
+ # Checks equality by comparing each attribute.
60
+ # @param [Object] Object to be compared
61
+ def ==(other)
62
+ return true if self.equal?(other)
63
+ self.class == other.class &&
64
+ critical_threshold == other.critical_threshold
65
+ end
66
+
67
+ # @see the `==` method
68
+ # @param [Object] Object to be compared
69
+ def eql?(other)
70
+ self == other
71
+ end
72
+
73
+ # Calculates hash code according to all attributes.
74
+ # @return [Integer] Hash code
75
+ def hash
76
+ [critical_threshold].hash
77
+ end
78
+
79
+ # Builds the object from hash
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ # @return [Object] Returns the model itself
82
+ def self.build_from_hash(attributes)
83
+ return nil unless attributes.is_a?(Hash)
84
+ attributes = attributes.transform_keys(&:to_sym)
85
+ transformed_hash = {}
86
+ types_mapping.each_pair do |key, type|
87
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
88
+ transformed_hash[key.to_sym] = nil
89
+ elsif type =~ /\AArray<(.*)>/i
90
+ # check to ensure the input is an array given that the attribute
91
+ # is documented as an array but the input is not
92
+ if attributes[attribute_map[key]].is_a?(Array)
93
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
94
+ _deserialize(::Regexp.last_match(1), v)
95
+ }
96
+ end
97
+ elsif !attributes[attribute_map[key]].nil?
98
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
99
+ end
100
+ end
101
+
102
+ new(transformed_hash)
103
+ end
104
+
105
+ # Deserializes the data based on type
106
+ # @param string type Data type
107
+ # @param string value Value to be deserialized
108
+ # @return [Object] Deserialized data
109
+ def self._deserialize(type, value)
110
+ case type.to_sym
111
+ when :Time
112
+ Time.parse(value)
113
+ when :Date
114
+ Date.parse(value)
115
+ when :String
116
+ value.to_s
117
+ when :Integer
118
+ value.to_i
119
+ when :Float
120
+ value.to_f
121
+ when :Boolean
122
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
123
+ true
124
+ else
125
+ false
126
+ end
127
+
128
+ when :Object
129
+ # generic object (usually a Hash), return directly
130
+ value
131
+ when /\AArray<(?<inner_type>.+)>\z/
132
+ inner_type = Regexp.last_match[:inner_type]
133
+ value.map { |v| _deserialize(inner_type, v) }
134
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
135
+ k_type = Regexp.last_match[:k_type]
136
+ v_type = Regexp.last_match[:v_type]
137
+ {}.tap do |hash|
138
+ value.each do |k, v|
139
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
140
+ end
141
+ end
142
+ # model
143
+ else
144
+ # models (e.g. Pet) or oneOf
145
+ klass = Algolia::Ingestion.const_get(type)
146
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
147
+ .build_from_hash(value)
148
+ end
149
+ end
150
+
151
+ # Returns the string representation of the object
152
+ # @return [String] String presentation of the object
153
+ def to_s
154
+ to_hash.to_s
155
+ end
156
+
157
+ # to_body is an alias to to_hash (backward compatibility)
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_body
160
+ to_hash
161
+ end
162
+
163
+ def to_json(*_args)
164
+ to_hash.to_json
165
+ end
166
+
167
+ # Returns the object in the form of hash
168
+ # @return [Hash] Returns the object in the form of hash
169
+ def to_hash
170
+ hash = {}
171
+ self.class.attribute_map.each_pair do |attr, param|
172
+ value = send(attr)
173
+ if value.nil?
174
+ is_nullable = self.class.openapi_nullable.include?(attr)
175
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
176
+ end
177
+
178
+ hash[param] = _to_hash(value)
179
+ end
180
+
181
+ hash
182
+ end
183
+
184
+ # Outputs non-array value in the form of hash
185
+ # For object, use to_hash. Otherwise, just return the value
186
+ # @param [Object] value Any valid value
187
+ # @return [Hash] Returns the value in the form of hash
188
+ def _to_hash(value)
189
+ if value.is_a?(Array)
190
+ value.compact.map { |v| _to_hash(v) }
191
+ elsif value.is_a?(Hash)
192
+ {}.tap do |hash|
193
+ value.each { |k, v| hash[k] = _to_hash(v) }
194
+ end
195
+ elsif value.respond_to?(:to_hash)
196
+ value.to_hash
197
+ else
198
+ value
199
+ end
200
+ end
201
+
202
+ end
203
+
204
+ end
205
+ end
@@ -18,11 +18,6 @@ module Algolia
18
18
  }
19
19
  end
20
20
 
21
- # Returns all the JSON keys this model knows about
22
- def self.acceptable_attributes
23
- attribute_map.values
24
- end
25
-
26
21
  # Attribute type mapping.
27
22
  def self.types_mapping
28
23
  {
@@ -18,11 +18,6 @@ module Algolia
18
18
  }
19
19
  end
20
20
 
21
- # Returns all the JSON keys this model knows about
22
- def self.acceptable_attributes
23
- attribute_map.values
24
- end
25
-
26
21
  # Attribute type mapping.
27
22
  def self.types_mapping
28
23
  {
@@ -58,11 +58,6 @@ module Algolia
58
58
  }
59
59
  end
60
60
 
61
- # Returns all the JSON keys this model knows about
62
- def self.acceptable_attributes
63
- attribute_map.values
64
- end
65
-
66
61
  # Attribute type mapping.
67
62
  def self.types_mapping
68
63
  {
@@ -21,11 +21,6 @@ module Algolia
21
21
  }
22
22
  end
23
23
 
24
- # Returns all the JSON keys this model knows about
25
- def self.acceptable_attributes
26
- attribute_map.values
27
- end
28
-
29
24
  # Attribute type mapping.
30
25
  def self.types_mapping
31
26
  {
@@ -18,11 +18,6 @@ module Algolia
18
18
  }
19
19
  end
20
20
 
21
- # Returns all the JSON keys this model knows about
22
- def self.acceptable_attributes
23
- attribute_map.values
24
- end
25
-
26
21
  # Attribute type mapping.
27
22
  def self.types_mapping
28
23
  {
@@ -21,11 +21,6 @@ module Algolia
21
21
  }
22
22
  end
23
23
 
24
- # Returns all the JSON keys this model knows about
25
- def self.acceptable_attributes
26
- attribute_map.values
27
- end
28
-
29
24
  # Attribute type mapping.
30
25
  def self.types_mapping
31
26
  {
@@ -27,11 +27,6 @@ module Algolia
27
27
  }
28
28
  end
29
29
 
30
- # Returns all the JSON keys this model knows about
31
- def self.acceptable_attributes
32
- attribute_map.values
33
- end
34
-
35
30
  # Attribute type mapping.
36
31
  def self.types_mapping
37
32
  {
@@ -20,11 +20,6 @@ module Algolia
20
20
  }
21
21
  end
22
22
 
23
- # Returns all the JSON keys this model knows about
24
- def self.acceptable_attributes
25
- attribute_map.values
26
- end
27
-
28
23
  # Attribute type mapping.
29
24
  def self.types_mapping
30
25
  {
@@ -28,11 +28,6 @@ module Algolia
28
28
  }
29
29
  end
30
30
 
31
- # Returns all the JSON keys this model knows about
32
- def self.acceptable_attributes
33
- attribute_map.values
34
- end
35
-
36
31
  # Attribute type mapping.
37
32
  def self.types_mapping
38
33
  {
@@ -20,9 +20,11 @@ module Algolia
20
20
  }
21
21
  end
22
22
 
23
- # Returns all the JSON keys this model knows about
24
- def self.acceptable_attributes
25
- attribute_map.values
23
+ # Returns the keys that uniquely identify this oneOf variant when present
24
+ def self.discriminator_attributes
25
+ [
26
+ :cron
27
+ ]
26
28
  end
27
29
 
28
30
  # Attribute type mapping.
@@ -19,11 +19,6 @@ module Algolia
19
19
  }
20
20
  end
21
21
 
22
- # Returns all the JSON keys this model knows about
23
- def self.acceptable_attributes
24
- attribute_map.values
25
- end
26
-
27
22
  # Attribute type mapping.
28
23
  def self.types_mapping
29
24
  {
@@ -22,11 +22,6 @@ module Algolia
22
22
  }
23
23
  end
24
24
 
25
- # Returns all the JSON keys this model knows about
26
- def self.acceptable_attributes
27
- attribute_map.values
28
- end
29
-
30
25
  # Attribute type mapping.
31
26
  def self.types_mapping
32
27
  {
@@ -22,11 +22,6 @@ module Algolia
22
22
  }
23
23
  end
24
24
 
25
- # Returns all the JSON keys this model knows about
26
- def self.acceptable_attributes
27
- attribute_map.values
28
- end
29
-
30
25
  # Attribute type mapping.
31
26
  def self.types_mapping
32
27
  {
@@ -37,11 +37,6 @@ module Algolia
37
37
  }
38
38
  end
39
39
 
40
- # Returns all the JSON keys this model knows about
41
- def self.acceptable_attributes
42
- attribute_map.values
43
- end
44
-
45
40
  # Attribute type mapping.
46
41
  def self.types_mapping
47
42
  {
@@ -28,9 +28,11 @@ module Algolia
28
28
  }
29
29
  end
30
30
 
31
- # Returns all the JSON keys this model knows about
32
- def self.acceptable_attributes
33
- attribute_map.values
31
+ # Returns the keys that uniquely identify this oneOf variant when present
32
+ def self.discriminator_attributes
33
+ [
34
+ :storeHash
35
+ ]
34
36
  end
35
37
 
36
38
  # Attribute type mapping.
@@ -39,9 +39,11 @@ module Algolia
39
39
  }
40
40
  end
41
41
 
42
- # Returns all the JSON keys this model knows about
43
- def self.acceptable_attributes
44
- attribute_map.values
42
+ # Returns the keys that uniquely identify this oneOf variant when present
43
+ def self.discriminator_attributes
44
+ [
45
+ :projectID
46
+ ]
45
47
  end
46
48
 
47
49
  # Attribute type mapping.
@@ -32,9 +32,11 @@ module Algolia
32
32
  }
33
33
  end
34
34
 
35
- # Returns all the JSON keys this model knows about
36
- def self.acceptable_attributes
37
- attribute_map.values
35
+ # Returns the keys that uniquely identify this oneOf variant when present
36
+ def self.discriminator_attributes
37
+ [
38
+ :projectKey
39
+ ]
38
40
  end
39
41
 
40
42
  # Attribute type mapping.
@@ -26,11 +26,6 @@ module Algolia
26
26
  }
27
27
  end
28
28
 
29
- # Returns all the JSON keys this model knows about
30
- def self.acceptable_attributes
31
- attribute_map.values
32
- end
33
-
34
29
  # Attribute type mapping.
35
30
  def self.types_mapping
36
31
  {
@@ -24,11 +24,6 @@ module Algolia
24
24
  }
25
25
  end
26
26
 
27
- # Returns all the JSON keys this model knows about
28
- def self.acceptable_attributes
29
- attribute_map.values
30
- end
31
-
32
27
  # Attribute type mapping.
33
28
  def self.types_mapping
34
29
  {
@@ -31,11 +31,6 @@ module Algolia
31
31
  }
32
32
  end
33
33
 
34
- # Returns all the JSON keys this model knows about
35
- def self.acceptable_attributes
36
- attribute_map.values
37
- end
38
-
39
34
  # Attribute type mapping.
40
35
  def self.types_mapping
41
36
  {
@@ -30,9 +30,14 @@ module Algolia
30
30
  }
31
31
  end
32
32
 
33
- # Returns all the JSON keys this model knows about
34
- def self.acceptable_attributes
35
- attribute_map.values
33
+ # Returns the keys that uniquely identify this oneOf variant when present
34
+ def self.discriminator_attributes
35
+ [
36
+ :registry,
37
+ :image,
38
+ :imageType,
39
+ :configuration
40
+ ]
36
41
  end
37
42
 
38
43
  # Attribute type mapping.
@@ -24,9 +24,13 @@ module Algolia
24
24
  }
25
25
  end
26
26
 
27
- # Returns all the JSON keys this model knows about
28
- def self.acceptable_attributes
29
- attribute_map.values
27
+ # Returns the keys that uniquely identify this oneOf variant when present
28
+ def self.discriminator_attributes
29
+ [
30
+ :projectID,
31
+ :datasetID,
32
+ :tablePrefix
33
+ ]
30
34
  end
31
35
 
32
36
  # Attribute type mapping.
@@ -50,7 +50,6 @@ module Algolia
50
50
 
51
51
  SchemaMismatchError = Class.new(StandardError)
52
52
 
53
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
54
53
  def find_and_cast_into_type(klass, data)
55
54
  return if data.nil?
56
55
 
@@ -89,12 +88,12 @@ module Algolia
89
88
  if const.respond_to?(:openapi_one_of)
90
89
  # nested oneOf model
91
90
  model = const.build(data)
92
- elsif const.respond_to?(:acceptable_attributes)
93
- # raise if data contains keys that are not known to the model
94
- raise unless (data.keys - const.acceptable_attributes).empty?
95
- model = const.build_from_hash(data)
91
+ elsif const.respond_to?(:discriminator_attributes)
92
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
93
+ model = const.build_from_hash(data)
94
+ end
96
95
  else
97
- # maybe it's an enum
96
+ # maybe it's an enum, or doens't have discriminators
98
97
  model = const.build_from_hash(data)
99
98
  end
100
99
 
@@ -23,11 +23,6 @@ module Algolia
23
23
  }
24
24
  end
25
25
 
26
- # Returns all the JSON keys this model knows about
27
- def self.acceptable_attributes
28
- attribute_map.values
29
- end
30
-
31
26
  # Attribute type mapping.
32
27
  def self.types_mapping
33
28
  {
@@ -15,11 +15,6 @@ module Algolia
15
15
  }
16
16
  end
17
17
 
18
- # Returns all the JSON keys this model knows about
19
- def self.acceptable_attributes
20
- attribute_map.values
21
- end
22
-
23
18
  # Attribute type mapping.
24
19
  def self.types_mapping
25
20
  {
@@ -20,9 +20,11 @@ module Algolia
20
20
  }
21
21
  end
22
22
 
23
- # Returns all the JSON keys this model knows about
24
- def self.acceptable_attributes
25
- attribute_map.values
23
+ # Returns the keys that uniquely identify this oneOf variant when present
24
+ def self.discriminator_attributes
25
+ [
26
+ :shopURL
27
+ ]
26
28
  end
27
29
 
28
30
  # Attribute type mapping.
@@ -23,11 +23,6 @@ module Algolia
23
23
  }
24
24
  end
25
25
 
26
- # Returns all the JSON keys this model knows about
27
- def self.acceptable_attributes
28
- attribute_map.values
29
- end
30
-
31
26
  # Attribute type mapping.
32
27
  def self.types_mapping
33
28
  {
@@ -29,11 +29,6 @@ module Algolia
29
29
  }
30
30
  end
31
31
 
32
- # Returns all the JSON keys this model knows about
33
- def self.acceptable_attributes
34
- attribute_map.values
35
- end
36
-
37
32
  # Attribute type mapping.
38
33
  def self.types_mapping
39
34
  {
@@ -27,9 +27,11 @@ module Algolia
27
27
  }
28
28
  end
29
29
 
30
- # Returns all the JSON keys this model knows about
31
- def self.acceptable_attributes
32
- attribute_map.values
30
+ # Returns the keys that uniquely identify this oneOf variant when present
31
+ def self.discriminator_attributes
32
+ [
33
+ :configuration
34
+ ]
33
35
  end
34
36
 
35
37
  # Attribute type mapping.
@@ -49,7 +49,6 @@ module Algolia
49
49
 
50
50
  SchemaMismatchError = Class.new(StandardError)
51
51
 
52
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
53
52
  def find_and_cast_into_type(klass, data)
54
53
  return if data.nil?
55
54
 
@@ -88,12 +87,12 @@ module Algolia
88
87
  if const.respond_to?(:openapi_one_of)
89
88
  # nested oneOf model
90
89
  model = const.build(data)
91
- elsif const.respond_to?(:acceptable_attributes)
92
- # raise if data contains keys that are not known to the model
93
- raise unless (data.keys - const.acceptable_attributes).empty?
94
- model = const.build_from_hash(data)
90
+ elsif const.respond_to?(:discriminator_attributes)
91
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
92
+ model = const.build_from_hash(data)
93
+ end
95
94
  else
96
- # maybe it's an enum
95
+ # maybe it's an enum, or doens't have discriminators
97
96
  model = const.build_from_hash(data)
98
97
  end
99
98
 
@@ -24,11 +24,6 @@ module Algolia
24
24
  }
25
25
  end
26
26
 
27
- # Returns all the JSON keys this model knows about
28
- def self.acceptable_attributes
29
- attribute_map.values
30
- end
31
-
32
27
  # Attribute type mapping.
33
28
  def self.types_mapping
34
29
  {
@@ -16,11 +16,6 @@ module Algolia
16
16
  }
17
17
  end
18
18
 
19
- # Returns all the JSON keys this model knows about
20
- def self.acceptable_attributes
21
- attribute_map.values
22
- end
23
-
24
19
  # Attribute type mapping.
25
20
  def self.types_mapping
26
21
  {