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
@@ -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
  {
@@ -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
  {
@@ -52,11 +52,6 @@ module Algolia
52
52
  }
53
53
  end
54
54
 
55
- # Returns all the JSON keys this model knows about
56
- def self.acceptable_attributes
57
- attribute_map.values
58
- end
59
-
60
55
  # Attribute type mapping.
61
56
  def self.types_mapping
62
57
  {
@@ -72,11 +72,6 @@ module Algolia
72
72
  }
73
73
  end
74
74
 
75
- # Returns all the JSON keys this model knows about
76
- def self.acceptable_attributes
77
- attribute_map.values
78
- end
79
-
80
75
  # Attribute type mapping.
81
76
  def self.types_mapping
82
77
  {
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -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
  {
@@ -17,9 +17,11 @@ 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
20
+ # Returns the keys that uniquely identify this oneOf variant when present
21
+ def self.discriminator_attributes
22
+ [
23
+ :key
24
+ ]
23
25
  end
24
26
 
25
27
  # Attribute type mapping.
@@ -17,9 +17,11 @@ 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
20
+ # Returns the keys that uniquely identify this oneOf variant when present
21
+ def self.discriminator_attributes
22
+ [
23
+ :key
24
+ ]
23
25
  end
24
26
 
25
27
  # Attribute type mapping.
@@ -21,9 +21,12 @@ 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
24
+ # Returns the keys that uniquely identify this oneOf variant when present
25
+ def self.discriminator_attributes
26
+ [
27
+ :username,
28
+ :password
29
+ ]
27
30
  end
28
31
 
29
32
  # Attribute type mapping.
@@ -21,9 +21,11 @@ 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
24
+ # Returns the keys that uniquely identify this oneOf variant when present
25
+ def self.discriminator_attributes
26
+ [
27
+ :username
28
+ ]
27
29
  end
28
30
 
29
31
  # Attribute type mapping.
@@ -21,9 +21,12 @@ 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
24
+ # Returns the keys that uniquely identify this oneOf variant when present
25
+ def self.discriminator_attributes
26
+ [
27
+ :clientEmail,
28
+ :privateKey
29
+ ]
27
30
  end
28
31
 
29
32
  # Attribute type mapping.
@@ -21,9 +21,11 @@ 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
24
+ # Returns the keys that uniquely identify this oneOf variant when present
25
+ def self.discriminator_attributes
26
+ [
27
+ :clientEmail
28
+ ]
27
29
  end
28
30
 
29
31
  # 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
 
@@ -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
 
@@ -29,9 +29,13 @@ 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
32
+ # Returns the keys that uniquely identify this oneOf variant when present
33
+ def self.discriminator_attributes
34
+ [
35
+ :url,
36
+ :client_id,
37
+ :client_secret
38
+ ]
35
39
  end
36
40
 
37
41
  # Attribute type mapping.
@@ -29,9 +29,11 @@ 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
32
+ # Returns the keys that uniquely identify this oneOf variant when present
33
+ def self.discriminator_attributes
34
+ [
35
+ :url
36
+ ]
35
37
  end
36
38
 
37
39
  # Attribute type mapping.
@@ -38,11 +38,6 @@ module Algolia
38
38
  }
39
39
  end
40
40
 
41
- # Returns all the JSON keys this model knows about
42
- def self.acceptable_attributes
43
- attribute_map.values
44
- end
45
-
46
41
  # Attribute type mapping.
47
42
  def self.types_mapping
48
43
  {
@@ -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
  {
@@ -25,11 +25,6 @@ module Algolia
25
25
  }
26
26
  end
27
27
 
28
- # Returns all the JSON keys this model knows about
29
- def self.acceptable_attributes
30
- attribute_map.values
31
- end
32
-
33
28
  # Attribute type mapping.
34
29
  def self.types_mapping
35
30
  {
@@ -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
  {
@@ -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
  {
@@ -25,11 +25,6 @@ module Algolia
25
25
  }
26
26
  end
27
27
 
28
- # Returns all the JSON keys this model knows about
29
- def self.acceptable_attributes
30
- attribute_map.values
31
- end
32
-
33
28
  # Attribute type mapping.
34
29
  def self.types_mapping
35
30
  {
@@ -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
  {
@@ -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
  {
@@ -25,11 +25,6 @@ module Algolia
25
25
  }
26
26
  end
27
27
 
28
- # Returns all the JSON keys this model knows about
29
- def self.acceptable_attributes
30
- attribute_map.values
31
- end
32
-
33
28
  # Attribute type mapping.
34
29
  def self.types_mapping
35
30
  {
@@ -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
  {
@@ -42,11 +42,6 @@ module Algolia
42
42
  }
43
43
  end
44
44
 
45
- # Returns all the JSON keys this model knows about
46
- def self.acceptable_attributes
47
- attribute_map.values
48
- end
49
-
50
45
  # Attribute type mapping.
51
46
  def self.types_mapping
52
47
  {
@@ -30,11 +30,6 @@ 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
36
- end
37
-
38
33
  # Attribute type mapping.
39
34
  def self.types_mapping
40
35
  {
@@ -25,11 +25,6 @@ module Algolia
25
25
  }
26
26
  end
27
27
 
28
- # Returns all the JSON keys this model knows about
29
- def self.acceptable_attributes
30
- attribute_map.values
31
- end
32
-
33
28
  # Attribute type mapping.
34
29
  def self.types_mapping
35
30
  {
@@ -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
  {
@@ -43,7 +43,6 @@ module Algolia
43
43
 
44
44
  SchemaMismatchError = Class.new(StandardError)
45
45
 
46
- # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
47
46
  def find_and_cast_into_type(klass, data)
48
47
  return if data.nil?
49
48
 
@@ -82,12 +81,12 @@ module Algolia
82
81
  if const.respond_to?(:openapi_one_of)
83
82
  # nested oneOf model
84
83
  model = const.build(data)
85
- elsif const.respond_to?(:acceptable_attributes)
86
- # raise if data contains keys that are not known to the model
87
- raise unless (data.keys - const.acceptable_attributes).empty?
88
- model = const.build_from_hash(data)
84
+ elsif const.respond_to?(:discriminator_attributes)
85
+ if const.discriminator_attributes.all? { |attr| data.key?(attr) }
86
+ model = const.build_from_hash(data)
87
+ end
89
88
  else
90
- # maybe it's an enum
89
+ # maybe it's an enum, or doens't have discriminators
91
90
  model = const.build_from_hash(data)
92
91
  end
93
92
 
@@ -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
  {
@@ -30,11 +30,6 @@ 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
36
- end
37
-
38
33
  # Attribute type mapping.
39
34
  def self.types_mapping
40
35
  {
@@ -25,11 +25,6 @@ module Algolia
25
25
  }
26
26
  end
27
27
 
28
- # Returns all the JSON keys this model knows about
29
- def self.acceptable_attributes
30
- attribute_map.values
31
- end
32
-
33
28
  # Attribute type mapping.
34
29
  def self.types_mapping
35
30
  {
@@ -6,12 +6,11 @@ require "time"
6
6
  module Algolia
7
7
  module Ingestion
8
8
  class DockerImageType
9
- SINGER = "singer".freeze
10
9
  CUSTOM = "custom".freeze
11
10
  AIRBYTE = "airbyte".freeze
12
11
 
13
12
  def self.all_vars
14
- @all_vars ||= [SINGER, CUSTOM, AIRBYTE].freeze
13
+ @all_vars ||= [CUSTOM, AIRBYTE].freeze
15
14
  end
16
15
 
17
16
  # Builds the enum from string
@@ -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
  {
@@ -5,7 +5,7 @@ require "time"
5
5
 
6
6
  module Algolia
7
7
  module Ingestion
8
- # The selected streams of a singer or airbyte connector.
8
+ # The selected streams of an airbyte connector.
9
9
  class DockerStreamsInput
10
10
  attr_accessor :streams
11
11
 
@@ -16,9 +16,11 @@ 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
19
+ # Returns the keys that uniquely identify this oneOf variant when present
20
+ def self.discriminator_attributes
21
+ [
22
+ :streams
23
+ ]
22
24
  end
23
25
 
24
26
  # Attribute type mapping.