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
@@ -7,10 +7,10 @@ module Algolia
7
7
  module Personalization
8
8
  class PersonalizationStrategyParams
9
9
  # Scores associated with each event. The higher the scores, the higher the impact of those events on the personalization of search results.
10
- attr_accessor :event_scoring
10
+ attr_accessor :events_scoring
11
11
 
12
12
  # Scores associated with each facet. The higher the scores, the higher the impact of those events on the personalization of search results.
13
- attr_accessor :facet_scoring
13
+ attr_accessor :facets_scoring
14
14
 
15
15
  # Impact of personalization on the search results. If set to 0, personalization has no impact on the search results.
16
16
  attr_accessor :personalization_impact
@@ -18,22 +18,17 @@ module Algolia
18
18
  # Attribute mapping from ruby-style variable name to JSON key.
19
19
  def self.attribute_map
20
20
  {
21
- :event_scoring => :eventScoring,
22
- :facet_scoring => :facetScoring,
21
+ :events_scoring => :eventsScoring,
22
+ :facets_scoring => :facetsScoring,
23
23
  :personalization_impact => :personalizationImpact
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
  {
35
- :event_scoring => :"Array<EventScoring>",
36
- :facet_scoring => :"Array<FacetScoring>",
30
+ :events_scoring => :"Array<EventsScoring>",
31
+ :facets_scoring => :"Array<FacetsScoring>",
37
32
  :personalization_impact => :"Integer"
38
33
  }
39
34
  end
@@ -68,20 +63,20 @@ module Algolia
68
63
  h[k.to_sym] = v
69
64
  }
70
65
 
71
- if attributes.key?(:event_scoring)
72
- if (value = attributes[:event_scoring]).is_a?(Array)
73
- self.event_scoring = value
66
+ if attributes.key?(:events_scoring)
67
+ if (value = attributes[:events_scoring]).is_a?(Array)
68
+ self.events_scoring = value
74
69
  end
75
70
  else
76
- self.event_scoring = nil
71
+ self.events_scoring = nil
77
72
  end
78
73
 
79
- if attributes.key?(:facet_scoring)
80
- if (value = attributes[:facet_scoring]).is_a?(Array)
81
- self.facet_scoring = value
74
+ if attributes.key?(:facets_scoring)
75
+ if (value = attributes[:facets_scoring]).is_a?(Array)
76
+ self.facets_scoring = value
82
77
  end
83
78
  else
84
- self.facet_scoring = nil
79
+ self.facets_scoring = nil
85
80
  end
86
81
 
87
82
  if attributes.key?(:personalization_impact)
@@ -96,8 +91,8 @@ module Algolia
96
91
  def ==(other)
97
92
  return true if self.equal?(other)
98
93
  self.class == other.class &&
99
- event_scoring == other.event_scoring &&
100
- facet_scoring == other.facet_scoring &&
94
+ events_scoring == other.events_scoring &&
95
+ facets_scoring == other.facets_scoring &&
101
96
  personalization_impact == other.personalization_impact
102
97
  end
103
98
 
@@ -110,7 +105,7 @@ module Algolia
110
105
  # Calculates hash code according to all attributes.
111
106
  # @return [Integer] Hash code
112
107
  def hash
113
- [event_scoring, facet_scoring, personalization_impact].hash
108
+ [events_scoring, facets_scoring, personalization_impact].hash
114
109
  end
115
110
 
116
111
  # Builds the object from hash
@@ -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
  {
@@ -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
  {
@@ -32,11 +32,6 @@ 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
38
- end
39
-
40
35
  # Attribute type mapping.
41
36
  def self.types_mapping
42
37
  {
@@ -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
  {
@@ -39,11 +39,6 @@ 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
45
- end
46
-
47
42
  # Attribute type mapping.
48
43
  def self.types_mapping
49
44
  {
@@ -35,11 +35,6 @@ module Algolia
35
35
  }
36
36
  end
37
37
 
38
- # Returns all the JSON keys this model knows about
39
- def self.acceptable_attributes
40
- attribute_map.values
41
- end
42
-
43
38
  # Attribute type mapping.
44
39
  def self.types_mapping
45
40
  {
@@ -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
  {
@@ -45,7 +45,6 @@ module Algolia
45
45
 
46
46
  SchemaMismatchError = Class.new(StandardError)
47
47
 
48
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
49
48
  def find_and_cast_into_type(klass, data)
50
49
  return if data.nil?
51
50
 
@@ -84,12 +83,12 @@ module Algolia
84
83
  if const.respond_to?(:openapi_one_of)
85
84
  # nested oneOf model
86
85
  model = const.build(data)
87
- elsif const.respond_to?(:acceptable_attributes)
88
- # raise if data contains keys that are not known to the model
89
- raise unless (data.keys - const.acceptable_attributes).empty?
90
- model = const.build_from_hash(data)
86
+ elsif const.respond_to?(:discriminator_attributes)
87
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
88
+ model = const.build_from_hash(data)
89
+ end
91
90
  else
92
- # maybe it's an enum
91
+ # maybe it's an enum, or doens't have discriminators
93
92
  model = const.build_from_hash(data)
94
93
  end
95
94
 
@@ -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
  {
@@ -41,11 +41,6 @@ module Algolia
41
41
  }
42
42
  end
43
43
 
44
- # Returns all the JSON keys this model knows about
45
- def self.acceptable_attributes
46
- attribute_map.values
47
- end
48
-
49
44
  # Attribute type mapping.
50
45
  def self.types_mapping
51
46
  {
@@ -45,7 +45,6 @@ module Algolia
45
45
 
46
46
  SchemaMismatchError = Class.new(StandardError)
47
47
 
48
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
49
48
  def find_and_cast_into_type(klass, data)
50
49
  return if data.nil?
51
50
 
@@ -84,12 +83,12 @@ module Algolia
84
83
  if const.respond_to?(:openapi_one_of)
85
84
  # nested oneOf model
86
85
  model = const.build(data)
87
- elsif const.respond_to?(:acceptable_attributes)
88
- # raise if data contains keys that are not known to the model
89
- raise unless (data.keys - const.acceptable_attributes).empty?
90
- model = const.build_from_hash(data)
86
+ elsif const.respond_to?(:discriminator_attributes)
87
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
88
+ model = const.build_from_hash(data)
89
+ end
91
90
  else
92
- # maybe it's an enum
91
+ # maybe it's an enum, or doens't have discriminators
93
92
  model = const.build_from_hash(data)
94
93
  end
95
94
 
@@ -45,7 +45,6 @@ module Algolia
45
45
 
46
46
  SchemaMismatchError = Class.new(StandardError)
47
47
 
48
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
49
48
  def find_and_cast_into_type(klass, data)
50
49
  return if data.nil?
51
50
 
@@ -84,12 +83,12 @@ module Algolia
84
83
  if const.respond_to?(:openapi_one_of)
85
84
  # nested oneOf model
86
85
  model = const.build(data)
87
- elsif const.respond_to?(:acceptable_attributes)
88
- # raise if data contains keys that are not known to the model
89
- raise unless (data.keys - const.acceptable_attributes).empty?
90
- model = const.build_from_hash(data)
86
+ elsif const.respond_to?(:discriminator_attributes)
87
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
88
+ model = const.build_from_hash(data)
89
+ end
91
90
  else
92
- # maybe it's an enum
91
+ # maybe it's an enum, or doens't have discriminators
93
92
  model = const.build_from_hash(data)
94
93
  end
95
94
 
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -34,11 +34,6 @@ module Algolia
34
34
  }
35
35
  end
36
36
 
37
- # Returns all the JSON keys this model knows about
38
- def self.acceptable_attributes
39
- attribute_map.values
40
- end
41
-
42
37
  # Attribute type mapping.
43
38
  def self.types_mapping
44
39
  {
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -45,7 +45,6 @@ module Algolia
45
45
 
46
46
  SchemaMismatchError = Class.new(StandardError)
47
47
 
48
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
49
48
  def find_and_cast_into_type(klass, data)
50
49
  return if data.nil?
51
50
 
@@ -84,12 +83,12 @@ module Algolia
84
83
  if const.respond_to?(:openapi_one_of)
85
84
  # nested oneOf model
86
85
  model = const.build(data)
87
- elsif const.respond_to?(:acceptable_attributes)
88
- # raise if data contains keys that are not known to the model
89
- raise unless (data.keys - const.acceptable_attributes).empty?
90
- model = const.build_from_hash(data)
86
+ elsif const.respond_to?(:discriminator_attributes)
87
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
88
+ model = const.build_from_hash(data)
89
+ end
91
90
  else
92
- # maybe it's an enum
91
+ # maybe it's an enum, or doens't have discriminators
93
92
  model = const.build_from_hash(data)
94
93
  end
95
94
 
@@ -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
  {
@@ -33,11 +33,6 @@ module Algolia
33
33
  }
34
34
  end
35
35
 
36
- # Returns all the JSON keys this model knows about
37
- def self.acceptable_attributes
38
- attribute_map.values
39
- end
40
-
41
36
  # Attribute type mapping.
42
37
  def self.types_mapping
43
38
  {
@@ -45,7 +45,6 @@ module Algolia
45
45
 
46
46
  SchemaMismatchError = Class.new(StandardError)
47
47
 
48
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
49
48
  def find_and_cast_into_type(klass, data)
50
49
  return if data.nil?
51
50
 
@@ -84,12 +83,12 @@ module Algolia
84
83
  if const.respond_to?(:openapi_one_of)
85
84
  # nested oneOf model
86
85
  model = const.build(data)
87
- elsif const.respond_to?(:acceptable_attributes)
88
- # raise if data contains keys that are not known to the model
89
- raise unless (data.keys - const.acceptable_attributes).empty?
90
- model = const.build_from_hash(data)
86
+ elsif const.respond_to?(:discriminator_attributes)
87
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
88
+ model = const.build_from_hash(data)
89
+ end
91
90
  else
92
- # maybe it's an enum
91
+ # maybe it's an enum, or doens't have discriminators
93
92
  model = const.build_from_hash(data)
94
93
  end
95
94
 
@@ -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
  {
@@ -335,11 +335,6 @@ module Algolia
335
335
  }
336
336
  end
337
337
 
338
- # Returns all the JSON keys this model knows about
339
- def self.acceptable_attributes
340
- attribute_map.values
341
- end
342
-
343
338
  # Attribute type mapping.
344
339
  def self.types_mapping
345
340
  {
@@ -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
  {
@@ -17,11 +17,6 @@ module Algolia
17
17
  }
18
18
  end
19
19
 
20
- # Returns all the JSON keys this model knows about
21
- def self.acceptable_attributes
22
- attribute_map.values
23
- end
24
-
25
20
  # Attribute type mapping.
26
21
  def self.types_mapping
27
22
  {
@@ -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
  {
@@ -17,11 +17,6 @@ module Algolia
17
17
  }
18
18
  end
19
19
 
20
- # Returns all the JSON keys this model knows about
21
- def self.acceptable_attributes
22
- attribute_map.values
23
- end
24
-
25
20
  # Attribute type mapping.
26
21
  def self.types_mapping
27
22
  {
@@ -45,7 +45,6 @@ module Algolia
45
45
 
46
46
  SchemaMismatchError = Class.new(StandardError)
47
47
 
48
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
49
48
  def find_and_cast_into_type(klass, data)
50
49
  return if data.nil?
51
50
 
@@ -84,12 +83,12 @@ module Algolia
84
83
  if const.respond_to?(:openapi_one_of)
85
84
  # nested oneOf model
86
85
  model = const.build(data)
87
- elsif const.respond_to?(:acceptable_attributes)
88
- # raise if data contains keys that are not known to the model
89
- raise unless (data.keys - const.acceptable_attributes).empty?
90
- model = const.build_from_hash(data)
86
+ elsif const.respond_to?(:discriminator_attributes)
87
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
88
+ model = const.build_from_hash(data)
89
+ end
91
90
  else
92
- # maybe it's an enum
91
+ # maybe it's an enum, or doens't have discriminators
93
92
  model = const.build_from_hash(data)
94
93
  end
95
94
 
@@ -28,9 +28,12 @@ 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
+ :matchLevel,
35
+ :matchedWords
36
+ ]
34
37
  end
35
38
 
36
39
  # Attribute type mapping.
@@ -46,7 +46,6 @@ module Algolia
46
46
 
47
47
  SchemaMismatchError = Class.new(StandardError)
48
48
 
49
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
50
49
  def find_and_cast_into_type(klass, data)
51
50
  return if data.nil?
52
51
 
@@ -85,12 +84,12 @@ module Algolia
85
84
  if const.respond_to?(:openapi_one_of)
86
85
  # nested oneOf model
87
86
  model = const.build(data)
88
- elsif const.respond_to?(:acceptable_attributes)
89
- # raise if data contains keys that are not known to the model
90
- raise unless (data.keys - const.acceptable_attributes).empty?
91
- model = const.build_from_hash(data)
87
+ elsif const.respond_to?(:discriminator_attributes)
88
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
89
+ model = const.build_from_hash(data)
90
+ end
92
91
  else
93
- # maybe it's an enum
92
+ # maybe it's an enum, or doens't have discriminators
94
93
  model = const.build_from_hash(data)
95
94
  end
96
95