algolia 3.11.0 → 3.12.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 (603) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/Gemfile.lock +1 -1
  4. data/lib/algolia/api/abtesting_client.rb +3 -1
  5. data/lib/algolia/api/analytics_client.rb +45 -43
  6. data/lib/algolia/api/composition_client.rb +174 -0
  7. data/lib/algolia/api/ingestion_client.rb +7 -1
  8. data/lib/algolia/api/insights_client.rb +3 -1
  9. data/lib/algolia/api/monitoring_client.rb +2 -0
  10. data/lib/algolia/api/personalization_client.rb +3 -1
  11. data/lib/algolia/api/query_suggestions_client.rb +3 -1
  12. data/lib/algolia/api/recommend_client.rb +20 -18
  13. data/lib/algolia/api/search_client.rb +104 -90
  14. data/lib/algolia/models/abtesting/ab_test.rb +2 -0
  15. data/lib/algolia/models/abtesting/ab_test_configuration.rb +2 -0
  16. data/lib/algolia/models/abtesting/ab_test_response.rb +2 -0
  17. data/lib/algolia/models/abtesting/ab_tests_variant.rb +2 -0
  18. data/lib/algolia/models/abtesting/ab_tests_variant_search_params.rb +2 -0
  19. data/lib/algolia/models/abtesting/add_ab_tests_request.rb +2 -0
  20. data/lib/algolia/models/abtesting/add_ab_tests_variant.rb +2 -0
  21. data/lib/algolia/models/abtesting/currency.rb +2 -0
  22. data/lib/algolia/models/abtesting/effect_metric.rb +2 -0
  23. data/lib/algolia/models/abtesting/empty_search.rb +2 -0
  24. data/lib/algolia/models/abtesting/empty_search_filter.rb +2 -0
  25. data/lib/algolia/models/abtesting/error_base.rb +2 -0
  26. data/lib/algolia/models/abtesting/estimate_ab_test_request.rb +2 -0
  27. data/lib/algolia/models/abtesting/estimate_ab_test_response.rb +2 -0
  28. data/lib/algolia/models/abtesting/estimate_configuration.rb +2 -0
  29. data/lib/algolia/models/abtesting/filter_effects.rb +2 -0
  30. data/lib/algolia/models/abtesting/list_ab_tests_response.rb +2 -0
  31. data/lib/algolia/models/abtesting/minimum_detectable_effect.rb +2 -0
  32. data/lib/algolia/models/abtesting/outliers.rb +2 -0
  33. data/lib/algolia/models/abtesting/outliers_filter.rb +2 -0
  34. data/lib/algolia/models/abtesting/schedule_ab_test_response.rb +2 -0
  35. data/lib/algolia/models/abtesting/schedule_ab_tests_request.rb +2 -0
  36. data/lib/algolia/models/abtesting/status.rb +2 -0
  37. data/lib/algolia/models/abtesting/variant.rb +2 -0
  38. data/lib/algolia/models/analytics/click_position.rb +2 -0
  39. data/lib/algolia/models/analytics/currency_code.rb +2 -0
  40. data/lib/algolia/models/analytics/daily_add_to_cart_rates.rb +3 -1
  41. data/lib/algolia/models/analytics/daily_average_clicks.rb +2 -0
  42. data/lib/algolia/models/analytics/daily_click_through_rates.rb +3 -1
  43. data/lib/algolia/models/analytics/daily_conversion_rates.rb +3 -1
  44. data/lib/algolia/models/analytics/daily_no_click_rates.rb +3 -1
  45. data/lib/algolia/models/analytics/daily_no_results_rates.rb +3 -1
  46. data/lib/algolia/models/analytics/daily_purchase_rates.rb +3 -1
  47. data/lib/algolia/models/analytics/daily_revenue.rb +3 -1
  48. data/lib/algolia/models/analytics/daily_searches.rb +2 -0
  49. data/lib/algolia/models/analytics/daily_searches_no_clicks.rb +2 -0
  50. data/lib/algolia/models/analytics/daily_searches_no_results.rb +2 -0
  51. data/lib/algolia/models/analytics/daily_users.rb +2 -0
  52. data/lib/algolia/models/analytics/direction.rb +2 -0
  53. data/lib/algolia/models/analytics/error_base.rb +2 -0
  54. data/lib/algolia/models/analytics/get_add_to_cart_rate_response.rb +3 -1
  55. data/lib/algolia/models/analytics/get_average_click_position_response.rb +2 -0
  56. data/lib/algolia/models/analytics/get_click_positions_response.rb +2 -0
  57. data/lib/algolia/models/analytics/get_click_through_rate_response.rb +3 -1
  58. data/lib/algolia/models/analytics/get_conversion_rate_response.rb +3 -1
  59. data/lib/algolia/models/analytics/get_no_click_rate_response.rb +3 -1
  60. data/lib/algolia/models/analytics/get_no_results_rate_response.rb +3 -1
  61. data/lib/algolia/models/analytics/get_purchase_rate_response.rb +3 -1
  62. data/lib/algolia/models/analytics/get_revenue.rb +3 -1
  63. data/lib/algolia/models/analytics/get_searches_count_response.rb +2 -0
  64. data/lib/algolia/models/analytics/get_searches_no_clicks_response.rb +2 -0
  65. data/lib/algolia/models/analytics/get_searches_no_results_response.rb +2 -0
  66. data/lib/algolia/models/analytics/get_status_response.rb +2 -0
  67. data/lib/algolia/models/analytics/get_top_countries_response.rb +2 -0
  68. data/lib/algolia/models/analytics/get_top_filter_attribute.rb +2 -0
  69. data/lib/algolia/models/analytics/get_top_filter_attributes_response.rb +2 -0
  70. data/lib/algolia/models/analytics/get_top_filter_for_attribute.rb +2 -0
  71. data/lib/algolia/models/analytics/get_top_filter_for_attribute_response.rb +2 -0
  72. data/lib/algolia/models/analytics/get_top_filters_no_results_response.rb +3 -1
  73. data/lib/algolia/models/analytics/get_top_filters_no_results_value.rb +2 -0
  74. data/lib/algolia/models/analytics/get_top_filters_no_results_values.rb +2 -0
  75. data/lib/algolia/models/analytics/get_top_hits_response.rb +2 -0
  76. data/lib/algolia/models/analytics/get_top_searches_response.rb +2 -0
  77. data/lib/algolia/models/analytics/get_users_count_response.rb +2 -0
  78. data/lib/algolia/models/analytics/operator.rb +2 -0
  79. data/lib/algolia/models/analytics/order_by.rb +2 -0
  80. data/lib/algolia/models/analytics/top_country.rb +2 -0
  81. data/lib/algolia/models/analytics/top_hit.rb +3 -1
  82. data/lib/algolia/models/analytics/top_hit_with_analytics.rb +5 -3
  83. data/lib/algolia/models/analytics/top_hit_with_revenue_analytics.rb +8 -6
  84. data/lib/algolia/models/analytics/top_hits_response.rb +2 -0
  85. data/lib/algolia/models/analytics/top_hits_response_with_analytics.rb +2 -0
  86. data/lib/algolia/models/analytics/top_hits_response_with_revenue_analytics.rb +2 -0
  87. data/lib/algolia/models/analytics/top_search.rb +2 -0
  88. data/lib/algolia/models/analytics/top_search_with_analytics.rb +4 -2
  89. data/lib/algolia/models/analytics/top_search_with_revenue_analytics.rb +7 -5
  90. data/lib/algolia/models/analytics/top_searches_response.rb +2 -0
  91. data/lib/algolia/models/analytics/top_searches_response_with_analytics.rb +2 -0
  92. data/lib/algolia/models/analytics/top_searches_response_with_revenue_analytics.rb +2 -0
  93. data/lib/algolia/models/composition/around_precision.rb +110 -0
  94. data/lib/algolia/models/composition/around_radius.rb +110 -0
  95. data/lib/algolia/models/{ingestion/docker_registry.rb → composition/around_radius_all.rb} +8 -7
  96. data/lib/algolia/models/composition/banner.rb +215 -0
  97. data/lib/algolia/models/composition/banner_image.rb +220 -0
  98. data/lib/algolia/models/composition/banner_image_url.rb +209 -0
  99. data/lib/algolia/models/composition/banner_link.rb +209 -0
  100. data/lib/algolia/models/composition/composition_id_ranking_info.rb +221 -0
  101. data/lib/algolia/models/composition/composition_run_applied_rules.rb +211 -0
  102. data/lib/algolia/models/composition/composition_run_search_response.rb +222 -0
  103. data/lib/algolia/models/composition/compositions_search_response.rb +212 -0
  104. data/lib/algolia/models/composition/error_base.rb +209 -0
  105. data/lib/algolia/models/composition/exhaustive.rb +250 -0
  106. data/lib/algolia/models/composition/facet_filters.rb +110 -0
  107. data/lib/algolia/models/composition/facet_hits.rb +235 -0
  108. data/lib/algolia/models/composition/facet_ordering.rb +221 -0
  109. data/lib/algolia/models/composition/facet_stats.rb +239 -0
  110. data/lib/algolia/models/composition/facets.rb +209 -0
  111. data/lib/algolia/models/composition/highlight_result.rb +110 -0
  112. data/lib/algolia/models/composition/highlight_result_option.rb +255 -0
  113. data/lib/algolia/models/composition/hit.rb +251 -0
  114. data/lib/algolia/models/composition/hit_ranking_info.rb +371 -0
  115. data/lib/algolia/models/composition/inside_bounding_box.rb +109 -0
  116. data/lib/algolia/models/{ingestion/docker_image_type.rb → composition/match_level.rb} +10 -7
  117. data/lib/algolia/models/composition/matched_geo_location.rb +229 -0
  118. data/lib/algolia/models/composition/numeric_filters.rb +110 -0
  119. data/lib/algolia/models/composition/optional_filters.rb +110 -0
  120. data/lib/algolia/models/composition/params.rb +488 -0
  121. data/lib/algolia/models/composition/personalization.rb +229 -0
  122. data/lib/algolia/models/composition/range.rb +217 -0
  123. data/lib/algolia/models/composition/redirect.rb +208 -0
  124. data/lib/algolia/models/composition/redirect_rule_index_data.rb +211 -0
  125. data/lib/algolia/models/composition/redirect_rule_index_metadata.rb +258 -0
  126. data/lib/algolia/models/composition/redirect_url.rb +209 -0
  127. data/lib/algolia/models/composition/rendering_content.rb +227 -0
  128. data/lib/algolia/models/composition/request_body.rb +208 -0
  129. data/lib/algolia/models/composition/results_composition_info_response.rb +212 -0
  130. data/lib/algolia/models/composition/results_injected_item_applied_rules_info_response.rb +211 -0
  131. data/lib/algolia/models/composition/results_injected_item_info_response.rb +221 -0
  132. data/lib/algolia/models/composition/search_for_facet_values_params.rb +228 -0
  133. data/lib/algolia/models/composition/search_for_facet_values_request.rb +208 -0
  134. data/lib/algolia/models/composition/search_for_facet_values_response.rb +211 -0
  135. data/lib/algolia/models/composition/search_for_facet_values_results.rb +253 -0
  136. data/lib/algolia/models/composition/search_response.rb +230 -0
  137. data/lib/algolia/models/composition/search_results_item.rb +608 -0
  138. data/lib/algolia/models/composition/snippet_result.rb +110 -0
  139. data/lib/algolia/models/composition/snippet_result_option.rb +230 -0
  140. data/lib/algolia/models/composition/sort_remaining_by.rb +35 -0
  141. data/lib/algolia/models/composition/supported_language.rb +169 -0
  142. data/lib/algolia/models/composition/value.rb +229 -0
  143. data/lib/algolia/models/composition/widgets.rb +209 -0
  144. data/lib/algolia/models/ingestion/action.rb +2 -0
  145. data/lib/algolia/models/ingestion/action_type.rb +2 -0
  146. data/lib/algolia/models/ingestion/auth_algolia.rb +2 -0
  147. data/lib/algolia/models/ingestion/auth_algolia_insights.rb +2 -0
  148. data/lib/algolia/models/ingestion/auth_algolia_insights_partial.rb +2 -0
  149. data/lib/algolia/models/ingestion/auth_algolia_partial.rb +2 -0
  150. data/lib/algolia/models/ingestion/auth_api_key.rb +2 -0
  151. data/lib/algolia/models/ingestion/auth_api_key_partial.rb +2 -0
  152. data/lib/algolia/models/ingestion/auth_basic.rb +2 -0
  153. data/lib/algolia/models/ingestion/auth_basic_partial.rb +2 -0
  154. data/lib/algolia/models/ingestion/auth_google_service_account.rb +2 -0
  155. data/lib/algolia/models/ingestion/auth_google_service_account_partial.rb +2 -0
  156. data/lib/algolia/models/ingestion/auth_input.rb +2 -0
  157. data/lib/algolia/models/ingestion/auth_input_partial.rb +2 -0
  158. data/lib/algolia/models/ingestion/auth_o_auth.rb +2 -0
  159. data/lib/algolia/models/ingestion/auth_o_auth_partial.rb +2 -0
  160. data/lib/algolia/models/ingestion/authentication.rb +2 -0
  161. data/lib/algolia/models/ingestion/authentication_create.rb +2 -0
  162. data/lib/algolia/models/ingestion/authentication_create_response.rb +2 -0
  163. data/lib/algolia/models/ingestion/authentication_search.rb +2 -0
  164. data/lib/algolia/models/ingestion/authentication_sort_keys.rb +2 -0
  165. data/lib/algolia/models/ingestion/authentication_type.rb +2 -0
  166. data/lib/algolia/models/ingestion/authentication_update.rb +2 -0
  167. data/lib/algolia/models/ingestion/authentication_update_response.rb +2 -0
  168. data/lib/algolia/models/ingestion/big_commerce_channel.rb +2 -0
  169. data/lib/algolia/models/ingestion/big_commerce_metafield.rb +2 -0
  170. data/lib/algolia/models/ingestion/big_query_data_type.rb +2 -0
  171. data/lib/algolia/models/ingestion/commercetools_custom_fields.rb +2 -0
  172. data/lib/algolia/models/ingestion/delete_response.rb +2 -0
  173. data/lib/algolia/models/ingestion/destination.rb +2 -0
  174. data/lib/algolia/models/ingestion/destination_create.rb +2 -0
  175. data/lib/algolia/models/ingestion/destination_create_response.rb +2 -0
  176. data/lib/algolia/models/ingestion/destination_index_name.rb +2 -0
  177. data/lib/algolia/models/ingestion/destination_input.rb +2 -0
  178. data/lib/algolia/models/ingestion/destination_search.rb +2 -0
  179. data/lib/algolia/models/ingestion/destination_sort_keys.rb +2 -0
  180. data/lib/algolia/models/ingestion/destination_type.rb +2 -0
  181. data/lib/algolia/models/ingestion/destination_update.rb +2 -0
  182. data/lib/algolia/models/ingestion/destination_update_response.rb +2 -0
  183. data/lib/algolia/models/ingestion/docker_streams.rb +2 -0
  184. data/lib/algolia/models/ingestion/docker_streams_input.rb +2 -0
  185. data/lib/algolia/models/ingestion/docker_streams_sync_mode.rb +2 -0
  186. data/lib/algolia/models/ingestion/email_notifications.rb +2 -0
  187. data/lib/algolia/models/ingestion/entity_type.rb +2 -0
  188. data/lib/algolia/models/ingestion/error_base.rb +2 -0
  189. data/lib/algolia/models/ingestion/event.rb +2 -0
  190. data/lib/algolia/models/ingestion/event_sort_keys.rb +2 -0
  191. data/lib/algolia/models/ingestion/event_status.rb +2 -0
  192. data/lib/algolia/models/ingestion/event_type.rb +2 -0
  193. data/lib/algolia/models/ingestion/list_authentications_response.rb +2 -0
  194. data/lib/algolia/models/ingestion/list_destinations_response.rb +2 -0
  195. data/lib/algolia/models/ingestion/list_events_response.rb +2 -0
  196. data/lib/algolia/models/ingestion/list_sources_response.rb +2 -0
  197. data/lib/algolia/models/ingestion/list_tasks_response.rb +2 -0
  198. data/lib/algolia/models/ingestion/list_tasks_response_v1.rb +2 -0
  199. data/lib/algolia/models/ingestion/list_transformations_response.rb +2 -0
  200. data/lib/algolia/models/ingestion/mapping_field_directive.rb +2 -0
  201. data/lib/algolia/models/ingestion/mapping_format_schema.rb +2 -0
  202. data/lib/algolia/models/ingestion/mapping_input.rb +2 -0
  203. data/lib/algolia/models/ingestion/mapping_kit_action.rb +2 -0
  204. data/lib/algolia/models/ingestion/mapping_type_csv.rb +2 -0
  205. data/lib/algolia/models/ingestion/method_type.rb +2 -0
  206. data/lib/algolia/models/ingestion/notifications.rb +2 -0
  207. data/lib/algolia/models/ingestion/on_demand_trigger.rb +2 -0
  208. data/lib/algolia/models/ingestion/on_demand_trigger_input.rb +2 -0
  209. data/lib/algolia/models/ingestion/on_demand_trigger_type.rb +2 -0
  210. data/lib/algolia/models/ingestion/order_keys.rb +2 -0
  211. data/lib/algolia/models/ingestion/pagination.rb +2 -0
  212. data/lib/algolia/models/ingestion/platform.rb +2 -0
  213. data/lib/algolia/models/ingestion/platform_none.rb +2 -0
  214. data/lib/algolia/models/ingestion/platform_with_none.rb +2 -0
  215. data/lib/algolia/models/ingestion/policies.rb +2 -0
  216. data/lib/algolia/models/ingestion/push_task_payload.rb +2 -0
  217. data/lib/algolia/models/ingestion/push_task_records.rb +10 -8
  218. data/lib/algolia/models/ingestion/record_type.rb +2 -0
  219. data/lib/algolia/models/ingestion/run.rb +2 -0
  220. data/lib/algolia/models/ingestion/run_list_response.rb +2 -0
  221. data/lib/algolia/models/ingestion/run_outcome.rb +3 -2
  222. data/lib/algolia/models/ingestion/run_progress.rb +6 -0
  223. data/lib/algolia/models/ingestion/run_reason_code.rb +2 -0
  224. data/lib/algolia/models/ingestion/run_response.rb +2 -0
  225. data/lib/algolia/models/ingestion/run_sort_keys.rb +2 -0
  226. data/lib/algolia/models/ingestion/run_source_payload.rb +2 -0
  227. data/lib/algolia/models/ingestion/run_source_response.rb +2 -0
  228. data/lib/algolia/models/ingestion/run_status.rb +2 -0
  229. data/lib/algolia/models/ingestion/run_type.rb +2 -0
  230. data/lib/algolia/models/ingestion/schedule_trigger.rb +2 -0
  231. data/lib/algolia/models/ingestion/schedule_trigger_input.rb +2 -0
  232. data/lib/algolia/models/ingestion/schedule_trigger_type.rb +2 -0
  233. data/lib/algolia/models/ingestion/shopify_input.rb +2 -0
  234. data/lib/algolia/models/ingestion/shopify_market.rb +2 -0
  235. data/lib/algolia/models/ingestion/shopify_metafield.rb +2 -0
  236. data/lib/algolia/models/ingestion/source.rb +2 -0
  237. data/lib/algolia/models/ingestion/source_big_commerce.rb +2 -0
  238. data/lib/algolia/models/ingestion/source_big_query.rb +2 -0
  239. data/lib/algolia/models/ingestion/source_commercetools.rb +2 -0
  240. data/lib/algolia/models/ingestion/source_create.rb +2 -0
  241. data/lib/algolia/models/ingestion/source_create_response.rb +2 -0
  242. data/lib/algolia/models/ingestion/source_csv.rb +2 -0
  243. data/lib/algolia/models/ingestion/source_docker.rb +4 -36
  244. data/lib/algolia/models/ingestion/source_ga4_big_query_export.rb +2 -0
  245. data/lib/algolia/models/ingestion/source_input.rb +2 -0
  246. data/lib/algolia/models/ingestion/source_json.rb +2 -0
  247. data/lib/algolia/models/ingestion/source_search.rb +2 -0
  248. data/lib/algolia/models/ingestion/source_shopify.rb +2 -0
  249. data/lib/algolia/models/ingestion/source_sort_keys.rb +2 -0
  250. data/lib/algolia/models/ingestion/source_type.rb +2 -0
  251. data/lib/algolia/models/ingestion/source_update.rb +2 -0
  252. data/lib/algolia/models/ingestion/source_update_commercetools.rb +2 -0
  253. data/lib/algolia/models/ingestion/source_update_docker.rb +3 -30
  254. data/lib/algolia/models/ingestion/source_update_input.rb +2 -0
  255. data/lib/algolia/models/ingestion/source_update_response.rb +2 -0
  256. data/lib/algolia/models/ingestion/source_update_shopify.rb +2 -0
  257. data/lib/algolia/models/ingestion/streaming_input.rb +2 -0
  258. data/lib/algolia/models/ingestion/streaming_trigger.rb +2 -0
  259. data/lib/algolia/models/ingestion/streaming_trigger_type.rb +2 -0
  260. data/lib/algolia/models/ingestion/subscription_trigger.rb +2 -0
  261. data/lib/algolia/models/ingestion/subscription_trigger_type.rb +2 -0
  262. data/lib/algolia/models/ingestion/task.rb +2 -0
  263. data/lib/algolia/models/ingestion/task_create.rb +2 -0
  264. data/lib/algolia/models/ingestion/task_create_response.rb +2 -0
  265. data/lib/algolia/models/ingestion/task_create_trigger.rb +2 -0
  266. data/lib/algolia/models/ingestion/task_create_v1.rb +2 -0
  267. data/lib/algolia/models/ingestion/task_input.rb +2 -0
  268. data/lib/algolia/models/ingestion/task_search.rb +2 -0
  269. data/lib/algolia/models/ingestion/task_sort_keys.rb +2 -0
  270. data/lib/algolia/models/ingestion/task_update.rb +2 -0
  271. data/lib/algolia/models/ingestion/task_update_response.rb +2 -0
  272. data/lib/algolia/models/ingestion/task_update_v1.rb +2 -0
  273. data/lib/algolia/models/ingestion/task_v1.rb +2 -0
  274. data/lib/algolia/models/ingestion/transformation.rb +2 -0
  275. data/lib/algolia/models/ingestion/transformation_create.rb +2 -0
  276. data/lib/algolia/models/ingestion/transformation_create_response.rb +2 -0
  277. data/lib/algolia/models/ingestion/transformation_error.rb +2 -0
  278. data/lib/algolia/models/ingestion/transformation_search.rb +2 -0
  279. data/lib/algolia/models/ingestion/transformation_sort_keys.rb +2 -0
  280. data/lib/algolia/models/ingestion/transformation_try.rb +2 -0
  281. data/lib/algolia/models/ingestion/transformation_try_response.rb +2 -0
  282. data/lib/algolia/models/ingestion/transformation_update_response.rb +2 -0
  283. data/lib/algolia/models/ingestion/trigger.rb +2 -0
  284. data/lib/algolia/models/ingestion/trigger_type.rb +2 -0
  285. data/lib/algolia/models/ingestion/trigger_update_input.rb +2 -0
  286. data/lib/algolia/models/ingestion/watch_response.rb +2 -0
  287. data/lib/algolia/models/ingestion/window.rb +2 -0
  288. data/lib/algolia/models/insights/add_to_cart_event.rb +2 -0
  289. data/lib/algolia/models/insights/added_to_cart_object_ids.rb +2 -0
  290. data/lib/algolia/models/insights/added_to_cart_object_ids_after_search.rb +2 -0
  291. data/lib/algolia/models/insights/click_event.rb +2 -0
  292. data/lib/algolia/models/insights/clicked_filters.rb +2 -0
  293. data/lib/algolia/models/insights/clicked_object_ids.rb +2 -0
  294. data/lib/algolia/models/insights/clicked_object_ids_after_search.rb +2 -0
  295. data/lib/algolia/models/insights/conversion_event.rb +2 -0
  296. data/lib/algolia/models/insights/converted_filters.rb +2 -0
  297. data/lib/algolia/models/insights/converted_object_ids.rb +2 -0
  298. data/lib/algolia/models/insights/converted_object_ids_after_search.rb +2 -0
  299. data/lib/algolia/models/insights/discount.rb +2 -0
  300. data/lib/algolia/models/insights/error_base.rb +2 -0
  301. data/lib/algolia/models/insights/events_items.rb +2 -0
  302. data/lib/algolia/models/insights/events_response.rb +2 -0
  303. data/lib/algolia/models/insights/insights_events.rb +2 -0
  304. data/lib/algolia/models/insights/object_data.rb +2 -0
  305. data/lib/algolia/models/insights/object_data_after_search.rb +2 -0
  306. data/lib/algolia/models/insights/price.rb +2 -0
  307. data/lib/algolia/models/insights/purchase_event.rb +2 -0
  308. data/lib/algolia/models/insights/purchased_object_ids.rb +2 -0
  309. data/lib/algolia/models/insights/purchased_object_ids_after_search.rb +2 -0
  310. data/lib/algolia/models/insights/value.rb +2 -0
  311. data/lib/algolia/models/insights/view_event.rb +2 -0
  312. data/lib/algolia/models/insights/viewed_filters.rb +2 -0
  313. data/lib/algolia/models/insights/viewed_object_ids.rb +2 -0
  314. data/lib/algolia/models/monitoring/error_base.rb +2 -0
  315. data/lib/algolia/models/monitoring/incident.rb +2 -0
  316. data/lib/algolia/models/monitoring/incident_entry.rb +2 -0
  317. data/lib/algolia/models/monitoring/incidents_response.rb +2 -0
  318. data/lib/algolia/models/monitoring/indexing_metric.rb +2 -0
  319. data/lib/algolia/models/monitoring/indexing_time_response.rb +2 -0
  320. data/lib/algolia/models/monitoring/infrastructure_response.rb +2 -0
  321. data/lib/algolia/models/monitoring/inventory_response.rb +2 -0
  322. data/lib/algolia/models/monitoring/latency_metric.rb +2 -0
  323. data/lib/algolia/models/monitoring/latency_response.rb +2 -0
  324. data/lib/algolia/models/monitoring/metric.rb +2 -0
  325. data/lib/algolia/models/monitoring/metrics.rb +2 -0
  326. data/lib/algolia/models/monitoring/period.rb +2 -0
  327. data/lib/algolia/models/monitoring/probes_metric.rb +2 -0
  328. data/lib/algolia/models/monitoring/region.rb +2 -0
  329. data/lib/algolia/models/monitoring/server.rb +2 -0
  330. data/lib/algolia/models/monitoring/server_status.rb +2 -0
  331. data/lib/algolia/models/monitoring/status.rb +2 -0
  332. data/lib/algolia/models/monitoring/status_response.rb +2 -0
  333. data/lib/algolia/models/monitoring/time_entry.rb +2 -0
  334. data/lib/algolia/models/monitoring/type.rb +2 -0
  335. data/lib/algolia/models/personalization/delete_user_profile_response.rb +2 -0
  336. data/lib/algolia/models/personalization/error_base.rb +2 -0
  337. data/lib/algolia/models/personalization/event_type.rb +2 -0
  338. data/lib/algolia/models/personalization/events_scoring.rb +2 -0
  339. data/lib/algolia/models/personalization/facets_scoring.rb +2 -0
  340. data/lib/algolia/models/personalization/get_user_token_response.rb +2 -0
  341. data/lib/algolia/models/personalization/personalization_strategy_params.rb +2 -0
  342. data/lib/algolia/models/personalization/set_personalization_strategy_response.rb +2 -0
  343. data/lib/algolia/models/query-suggestions/base_response.rb +2 -0
  344. data/lib/algolia/models/query-suggestions/config_status.rb +2 -0
  345. data/lib/algolia/models/query-suggestions/configuration.rb +2 -0
  346. data/lib/algolia/models/query-suggestions/configuration_response.rb +2 -0
  347. data/lib/algolia/models/query-suggestions/configuration_with_index.rb +2 -0
  348. data/lib/algolia/models/query-suggestions/error_base.rb +2 -0
  349. data/lib/algolia/models/query-suggestions/facet.rb +2 -0
  350. data/lib/algolia/models/query-suggestions/languages.rb +2 -0
  351. data/lib/algolia/models/query-suggestions/log_file.rb +2 -0
  352. data/lib/algolia/models/query-suggestions/log_level.rb +2 -0
  353. data/lib/algolia/models/query-suggestions/source_index.rb +2 -0
  354. data/lib/algolia/models/recommend/advanced_syntax_features.rb +2 -0
  355. data/lib/algolia/models/recommend/alternatives_as_exact.rb +2 -0
  356. data/lib/algolia/models/recommend/around_precision.rb +2 -0
  357. data/lib/algolia/models/recommend/around_radius.rb +2 -0
  358. data/lib/algolia/models/recommend/around_radius_all.rb +2 -0
  359. data/lib/algolia/models/recommend/auto_facet_filter.rb +2 -0
  360. data/lib/algolia/models/recommend/banner.rb +3 -1
  361. data/lib/algolia/models/recommend/banner_image.rb +3 -1
  362. data/lib/algolia/models/recommend/banner_image_url.rb +3 -1
  363. data/lib/algolia/models/recommend/banner_link.rb +3 -1
  364. data/lib/algolia/models/recommend/boolean_string.rb +2 -0
  365. data/lib/algolia/models/recommend/bought_together_query.rb +10 -8
  366. data/lib/algolia/models/recommend/condition.rb +2 -0
  367. data/lib/algolia/models/recommend/consequence.rb +2 -0
  368. data/lib/algolia/models/recommend/deleted_at_response.rb +2 -0
  369. data/lib/algolia/models/recommend/distinct.rb +2 -0
  370. data/lib/algolia/models/recommend/error_base.rb +2 -0
  371. data/lib/algolia/models/recommend/exact_on_single_word_query.rb +2 -0
  372. data/lib/algolia/models/recommend/exhaustive.rb +2 -0
  373. data/lib/algolia/models/recommend/facet_filters.rb +2 -0
  374. data/lib/algolia/models/recommend/facet_ordering.rb +2 -0
  375. data/lib/algolia/models/recommend/facet_stats.rb +2 -0
  376. data/lib/algolia/models/recommend/fallback_params.rb +26 -0
  377. data/lib/algolia/models/recommend/fbt_model.rb +2 -0
  378. data/lib/algolia/models/recommend/get_recommend_task_response.rb +2 -0
  379. data/lib/algolia/models/recommend/get_recommendations_params.rb +2 -0
  380. data/lib/algolia/models/recommend/get_recommendations_response.rb +2 -0
  381. data/lib/algolia/models/recommend/hide_consequence_object.rb +9 -7
  382. data/lib/algolia/models/recommend/highlight_result.rb +2 -0
  383. data/lib/algolia/models/recommend/highlight_result_option.rb +2 -0
  384. data/lib/algolia/models/recommend/ignore_plurals.rb +2 -0
  385. data/lib/algolia/models/recommend/index_settings_facets.rb +2 -0
  386. data/lib/algolia/models/recommend/inside_bounding_box.rb +2 -0
  387. data/lib/algolia/models/recommend/looking_similar_model.rb +2 -0
  388. data/lib/algolia/models/recommend/looking_similar_query.rb +10 -8
  389. data/lib/algolia/models/recommend/match_level.rb +2 -0
  390. data/lib/algolia/models/recommend/matched_geo_location.rb +2 -0
  391. data/lib/algolia/models/recommend/numeric_filters.rb +2 -0
  392. data/lib/algolia/models/recommend/optional_filters.rb +3 -1
  393. data/lib/algolia/models/recommend/optional_words.rb +2 -0
  394. data/lib/algolia/models/recommend/params_consequence.rb +2 -0
  395. data/lib/algolia/models/recommend/personalization.rb +2 -0
  396. data/lib/algolia/models/recommend/promote_consequence_object.rb +9 -7
  397. data/lib/algolia/models/recommend/query_type.rb +2 -0
  398. data/lib/algolia/models/recommend/range.rb +2 -0
  399. data/lib/algolia/models/recommend/ranking_info.rb +2 -0
  400. data/lib/algolia/models/recommend/re_ranking_apply_filter.rb +2 -0
  401. data/lib/algolia/models/recommend/recommend_hit.rb +10 -8
  402. data/lib/algolia/models/recommend/recommend_models.rb +2 -0
  403. data/lib/algolia/models/recommend/recommend_rule.rb +9 -7
  404. data/lib/algolia/models/recommend/recommend_search_params.rb +26 -0
  405. data/lib/algolia/models/recommend/recommend_updated_at_response.rb +2 -0
  406. data/lib/algolia/models/recommend/recommendations_hit.rb +2 -0
  407. data/lib/algolia/models/recommend/recommendations_request.rb +2 -0
  408. data/lib/algolia/models/recommend/recommendations_results.rb +2 -0
  409. data/lib/algolia/models/recommend/redirect.rb +2 -0
  410. data/lib/algolia/models/recommend/redirect_rule_index_data.rb +2 -0
  411. data/lib/algolia/models/recommend/redirect_rule_index_metadata.rb +2 -0
  412. data/lib/algolia/models/recommend/redirect_url.rb +2 -0
  413. data/lib/algolia/models/recommend/related_model.rb +2 -0
  414. data/lib/algolia/models/recommend/related_query.rb +10 -8
  415. data/lib/algolia/models/recommend/remove_stop_words.rb +2 -0
  416. data/lib/algolia/models/recommend/remove_words_if_no_results.rb +2 -0
  417. data/lib/algolia/models/recommend/rendering_content.rb +2 -0
  418. data/lib/algolia/models/recommend/rule_metadata.rb +2 -0
  419. data/lib/algolia/models/recommend/search_recommend_rules_params.rb +2 -0
  420. data/lib/algolia/models/recommend/search_recommend_rules_response.rb +2 -0
  421. data/lib/algolia/models/recommend/snippet_result.rb +2 -0
  422. data/lib/algolia/models/recommend/snippet_result_option.rb +2 -0
  423. data/lib/algolia/models/recommend/sort_remaining_by.rb +2 -0
  424. data/lib/algolia/models/recommend/supported_language.rb +2 -0
  425. data/lib/algolia/models/recommend/tag_filters.rb +2 -0
  426. data/lib/algolia/models/recommend/task_status.rb +2 -0
  427. data/lib/algolia/models/recommend/time_range.rb +2 -0
  428. data/lib/algolia/models/recommend/trending_facet_hit.rb +2 -0
  429. data/lib/algolia/models/recommend/trending_facets_model.rb +2 -0
  430. data/lib/algolia/models/recommend/trending_facets_query.rb +2 -0
  431. data/lib/algolia/models/recommend/trending_items_model.rb +2 -0
  432. data/lib/algolia/models/recommend/trending_items_query.rb +2 -0
  433. data/lib/algolia/models/recommend/typo_tolerance.rb +2 -0
  434. data/lib/algolia/models/recommend/typo_tolerance_enum.rb +2 -0
  435. data/lib/algolia/models/recommend/value.rb +2 -0
  436. data/lib/algolia/models/recommend/widgets.rb +4 -2
  437. data/lib/algolia/models/search/acl.rb +2 -0
  438. data/lib/algolia/models/search/action.rb +2 -0
  439. data/lib/algolia/models/search/add_api_key_response.rb +2 -0
  440. data/lib/algolia/models/search/advanced_syntax_features.rb +2 -0
  441. data/lib/algolia/models/search/alternatives_as_exact.rb +2 -0
  442. data/lib/algolia/models/search/anchoring.rb +2 -0
  443. data/lib/algolia/models/search/api_key.rb +2 -0
  444. data/lib/algolia/models/search/api_key_operation.rb +2 -0
  445. data/lib/algolia/models/search/around_precision.rb +2 -0
  446. data/lib/algolia/models/search/around_radius.rb +2 -0
  447. data/lib/algolia/models/search/around_radius_all.rb +2 -0
  448. data/lib/algolia/models/search/assign_user_id_params.rb +2 -0
  449. data/lib/algolia/models/search/attribute_to_update.rb +2 -0
  450. data/lib/algolia/models/search/automatic_facet_filter.rb +2 -0
  451. data/lib/algolia/models/search/automatic_facet_filters.rb +2 -0
  452. data/lib/algolia/models/search/banner.rb +3 -1
  453. data/lib/algolia/models/search/banner_image.rb +3 -1
  454. data/lib/algolia/models/search/banner_image_url.rb +3 -1
  455. data/lib/algolia/models/search/banner_link.rb +3 -1
  456. data/lib/algolia/models/search/batch_assign_user_ids_params.rb +2 -0
  457. data/lib/algolia/models/search/batch_dictionary_entries_params.rb +2 -0
  458. data/lib/algolia/models/search/batch_dictionary_entries_request.rb +2 -0
  459. data/lib/algolia/models/search/batch_params.rb +2 -0
  460. data/lib/algolia/models/search/batch_request.rb +2 -0
  461. data/lib/algolia/models/search/batch_response.rb +2 -0
  462. data/lib/algolia/models/search/batch_write_params.rb +2 -0
  463. data/lib/algolia/models/search/boolean_string.rb +2 -0
  464. data/lib/algolia/models/search/browse_params.rb +2 -0
  465. data/lib/algolia/models/search/browse_params_object.rb +2 -24
  466. data/lib/algolia/models/search/browse_response.rb +2 -0
  467. data/lib/algolia/models/search/built_in_operation.rb +2 -0
  468. data/lib/algolia/models/search/built_in_operation_type.rb +2 -0
  469. data/lib/algolia/models/search/built_in_operation_value.rb +2 -0
  470. data/lib/algolia/models/search/condition.rb +2 -0
  471. data/lib/algolia/models/search/consequence.rb +2 -0
  472. data/lib/algolia/models/search/consequence_hide.rb +10 -8
  473. data/lib/algolia/models/search/consequence_params.rb +2 -24
  474. data/lib/algolia/models/search/consequence_query.rb +2 -0
  475. data/lib/algolia/models/search/consequence_query_object.rb +2 -0
  476. data/lib/algolia/models/search/created_at_response.rb +2 -0
  477. data/lib/algolia/models/search/delete_api_key_response.rb +2 -0
  478. data/lib/algolia/models/search/delete_by_params.rb +2 -0
  479. data/lib/algolia/models/search/delete_source_response.rb +2 -0
  480. data/lib/algolia/models/search/deleted_at_response.rb +2 -0
  481. data/lib/algolia/models/search/dictionary_action.rb +2 -0
  482. data/lib/algolia/models/search/dictionary_entry.rb +10 -8
  483. data/lib/algolia/models/search/dictionary_entry_state.rb +2 -0
  484. data/lib/algolia/models/search/dictionary_entry_type.rb +2 -0
  485. data/lib/algolia/models/search/dictionary_language.rb +2 -0
  486. data/lib/algolia/models/search/dictionary_settings_params.rb +2 -0
  487. data/lib/algolia/models/search/dictionary_type.rb +2 -0
  488. data/lib/algolia/models/search/distinct.rb +2 -0
  489. data/lib/algolia/models/search/edit.rb +2 -0
  490. data/lib/algolia/models/search/edit_type.rb +2 -0
  491. data/lib/algolia/models/search/error_base.rb +2 -0
  492. data/lib/algolia/models/search/exact_on_single_word_query.rb +2 -0
  493. data/lib/algolia/models/search/exhaustive.rb +2 -0
  494. data/lib/algolia/models/search/facet_filters.rb +2 -0
  495. data/lib/algolia/models/search/facet_hits.rb +2 -0
  496. data/lib/algolia/models/search/facet_ordering.rb +2 -0
  497. data/lib/algolia/models/search/facet_stats.rb +2 -0
  498. data/lib/algolia/models/search/facets.rb +2 -0
  499. data/lib/algolia/models/search/fetched_index.rb +2 -0
  500. data/lib/algolia/models/search/get_api_key_response.rb +2 -0
  501. data/lib/algolia/models/search/get_dictionary_settings_response.rb +2 -0
  502. data/lib/algolia/models/search/get_logs_response.rb +2 -0
  503. data/lib/algolia/models/search/get_objects_params.rb +2 -0
  504. data/lib/algolia/models/search/get_objects_request.rb +10 -8
  505. data/lib/algolia/models/search/get_objects_response.rb +2 -0
  506. data/lib/algolia/models/search/get_task_response.rb +2 -0
  507. data/lib/algolia/models/search/get_top_user_ids_response.rb +2 -0
  508. data/lib/algolia/models/search/has_pending_mappings_response.rb +2 -0
  509. data/lib/algolia/models/search/highlight_result.rb +2 -0
  510. data/lib/algolia/models/search/highlight_result_option.rb +2 -0
  511. data/lib/algolia/models/search/hit.rb +10 -8
  512. data/lib/algolia/models/search/ignore_plurals.rb +2 -0
  513. data/lib/algolia/models/search/index_settings.rb +26 -24
  514. data/lib/algolia/models/search/inside_bounding_box.rb +2 -0
  515. data/lib/algolia/models/search/languages.rb +2 -0
  516. data/lib/algolia/models/search/list_api_keys_response.rb +2 -0
  517. data/lib/algolia/models/search/list_clusters_response.rb +2 -0
  518. data/lib/algolia/models/search/list_indices_response.rb +2 -0
  519. data/lib/algolia/models/search/list_user_ids_response.rb +2 -0
  520. data/lib/algolia/models/search/log.rb +2 -0
  521. data/lib/algolia/models/search/log_query.rb +2 -0
  522. data/lib/algolia/models/search/log_type.rb +2 -0
  523. data/lib/algolia/models/search/match_level.rb +2 -0
  524. data/lib/algolia/models/search/matched_geo_location.rb +2 -0
  525. data/lib/algolia/models/search/mode.rb +2 -0
  526. data/lib/algolia/models/search/multiple_batch_request.rb +2 -0
  527. data/lib/algolia/models/search/multiple_batch_response.rb +2 -0
  528. data/lib/algolia/models/search/numeric_filters.rb +2 -0
  529. data/lib/algolia/models/search/operation_index_params.rb +2 -0
  530. data/lib/algolia/models/search/operation_type.rb +2 -0
  531. data/lib/algolia/models/search/optional_filters.rb +3 -1
  532. data/lib/algolia/models/search/optional_words.rb +2 -0
  533. data/lib/algolia/models/search/personalization.rb +2 -0
  534. data/lib/algolia/models/search/promote.rb +2 -0
  535. data/lib/algolia/models/search/promote_object_id.rb +10 -8
  536. data/lib/algolia/models/search/promote_object_ids.rb +2 -0
  537. data/lib/algolia/models/search/query_type.rb +2 -0
  538. data/lib/algolia/models/search/range.rb +2 -0
  539. data/lib/algolia/models/search/ranking_info.rb +2 -0
  540. data/lib/algolia/models/search/re_ranking_apply_filter.rb +2 -0
  541. data/lib/algolia/models/search/redirect.rb +2 -0
  542. data/lib/algolia/models/search/redirect_rule_index_data.rb +2 -0
  543. data/lib/algolia/models/search/redirect_rule_index_metadata.rb +2 -0
  544. data/lib/algolia/models/search/redirect_url.rb +2 -0
  545. data/lib/algolia/models/search/remove_stop_words.rb +2 -0
  546. data/lib/algolia/models/search/remove_user_id_response.rb +2 -0
  547. data/lib/algolia/models/search/remove_words_if_no_results.rb +2 -0
  548. data/lib/algolia/models/search/rendering_content.rb +2 -0
  549. data/lib/algolia/models/search/replace_all_objects_response.rb +2 -0
  550. data/lib/algolia/models/search/replace_source_response.rb +2 -0
  551. data/lib/algolia/models/search/rule.rb +10 -8
  552. data/lib/algolia/models/search/save_object_response.rb +9 -7
  553. data/lib/algolia/models/search/save_synonym_response.rb +2 -0
  554. data/lib/algolia/models/search/scope_type.rb +2 -0
  555. data/lib/algolia/models/search/search_dictionary_entries_params.rb +2 -0
  556. data/lib/algolia/models/search/search_dictionary_entries_response.rb +2 -0
  557. data/lib/algolia/models/search/search_for_facet_values_request.rb +2 -0
  558. data/lib/algolia/models/search/search_for_facet_values_response.rb +2 -0
  559. data/lib/algolia/models/search/search_for_facets.rb +2 -24
  560. data/lib/algolia/models/search/search_for_hits.rb +2 -24
  561. data/lib/algolia/models/search/search_method_params.rb +2 -0
  562. data/lib/algolia/models/search/search_params.rb +2 -0
  563. data/lib/algolia/models/search/search_params_object.rb +2 -24
  564. data/lib/algolia/models/search/search_params_string.rb +2 -0
  565. data/lib/algolia/models/search/search_query.rb +2 -0
  566. data/lib/algolia/models/search/search_response.rb +2 -0
  567. data/lib/algolia/models/search/search_responses.rb +2 -0
  568. data/lib/algolia/models/search/search_result.rb +2 -0
  569. data/lib/algolia/models/search/search_rules_params.rb +2 -0
  570. data/lib/algolia/models/search/search_rules_response.rb +2 -0
  571. data/lib/algolia/models/search/search_strategy.rb +2 -0
  572. data/lib/algolia/models/search/search_synonyms_params.rb +2 -0
  573. data/lib/algolia/models/search/search_synonyms_response.rb +2 -0
  574. data/lib/algolia/models/search/search_type_default.rb +2 -0
  575. data/lib/algolia/models/search/search_type_facet.rb +2 -0
  576. data/lib/algolia/models/search/search_user_ids_params.rb +2 -0
  577. data/lib/algolia/models/search/search_user_ids_response.rb +2 -0
  578. data/lib/algolia/models/search/secured_api_key_restrictions.rb +2 -0
  579. data/lib/algolia/models/search/semantic_search.rb +2 -0
  580. data/lib/algolia/models/search/settings_response.rb +26 -24
  581. data/lib/algolia/models/search/snippet_result.rb +2 -0
  582. data/lib/algolia/models/search/snippet_result_option.rb +2 -0
  583. data/lib/algolia/models/search/sort_remaining_by.rb +2 -0
  584. data/lib/algolia/models/search/source.rb +2 -0
  585. data/lib/algolia/models/search/standard_entries.rb +2 -0
  586. data/lib/algolia/models/search/supported_language.rb +2 -0
  587. data/lib/algolia/models/search/synonym_hit.rb +10 -8
  588. data/lib/algolia/models/search/synonym_type.rb +2 -0
  589. data/lib/algolia/models/search/tag_filters.rb +2 -0
  590. data/lib/algolia/models/search/task_status.rb +2 -0
  591. data/lib/algolia/models/search/time_range.rb +2 -0
  592. data/lib/algolia/models/search/typo_tolerance.rb +2 -0
  593. data/lib/algolia/models/search/typo_tolerance_enum.rb +2 -0
  594. data/lib/algolia/models/search/update_api_key_response.rb +2 -0
  595. data/lib/algolia/models/search/updated_at_response.rb +2 -0
  596. data/lib/algolia/models/search/updated_at_with_object_id_response.rb +9 -7
  597. data/lib/algolia/models/search/user_highlight_result.rb +2 -0
  598. data/lib/algolia/models/search/user_hit.rb +10 -8
  599. data/lib/algolia/models/search/user_id.rb +2 -0
  600. data/lib/algolia/models/search/value.rb +2 -0
  601. data/lib/algolia/models/search/widgets.rb +4 -2
  602. data/lib/algolia/version.rb +3 -1
  603. metadata +54 -4
@@ -0,0 +1,212 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
4
+
5
+ require "date"
6
+ require "time"
7
+
8
+ module Algolia
9
+ module Composition
10
+ class CompositionsSearchResponse
11
+ attr_accessor :run
12
+
13
+ attr_accessor :additional_properties
14
+
15
+ # Attribute mapping from ruby-style variable name to JSON key.
16
+ def self.attribute_map
17
+ {
18
+ :run => :run
19
+ }
20
+ end
21
+
22
+ # Attribute type mapping.
23
+ def self.types_mapping
24
+ {
25
+ :run => :"Array<CompositionRunSearchResponse>"
26
+ }
27
+ end
28
+
29
+ # List of attributes with nullable: true
30
+ def self.openapi_nullable
31
+ Set.new(
32
+ []
33
+ )
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ if (!attributes.is_a?(Hash))
40
+ raise(
41
+ ArgumentError,
42
+ "The input argument (attributes) must be a hash in `Algolia::CompositionsSearchResponse` initialize method"
43
+ )
44
+ end
45
+
46
+ if attributes.key?(:run)
47
+ if (value = attributes[:run]).is_a?(Array)
48
+ self.run = value
49
+ end
50
+ else
51
+ self.run = nil
52
+ end
53
+
54
+ # add extra attribute to additional_properties
55
+ self.additional_properties ||= {}
56
+ self.additional_properties.merge!(attributes.reject { |k, _| self.class.attribute_map.key?(k.to_sym) })
57
+ end
58
+
59
+ # Checks equality by comparing each attribute.
60
+ # @param [Object] Object to be compared
61
+ def ==(other)
62
+ return true if self.equal?(other)
63
+ self.class == other.class &&
64
+ run == other.run
65
+ end
66
+
67
+ # @see the `==` method
68
+ # @param [Object] Object to be compared
69
+ def eql?(other)
70
+ self == other
71
+ end
72
+
73
+ # Calculates hash code according to all attributes.
74
+ # @return [Integer] Hash code
75
+ def hash
76
+ [run].hash
77
+ end
78
+
79
+ # Builds the object from hash
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ # @return [Object] Returns the model itself
82
+ def self.build_from_hash(attributes)
83
+ return nil unless attributes.is_a?(Hash)
84
+ attributes = attributes.transform_keys(&:to_sym)
85
+ transformed_hash = {}
86
+ types_mapping.each_pair do |key, type|
87
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
88
+ transformed_hash[key.to_sym] = nil
89
+ elsif type =~ /\AArray<(.*)>/i
90
+ # check to ensure the input is an array given that the attribute
91
+ # is documented as an array but the input is not
92
+ if attributes[attribute_map[key]].is_a?(Array)
93
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
94
+ _deserialize(::Regexp.last_match(1), v)
95
+ }
96
+ end
97
+ elsif !attributes[attribute_map[key]].nil?
98
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
99
+ end
100
+ end
101
+
102
+ # add extra attribute to transformed_hash
103
+ transformed_hash.merge!(attributes.reject { |k, _| attribute_map.key?(k.to_sym) })
104
+ new(transformed_hash)
105
+ end
106
+
107
+ # Deserializes the data based on type
108
+ # @param string type Data type
109
+ # @param string value Value to be deserialized
110
+ # @return [Object] Deserialized data
111
+ def self._deserialize(type, value)
112
+ case type.to_sym
113
+ when :Time
114
+ Time.parse(value)
115
+ when :Date
116
+ Date.parse(value)
117
+ when :String
118
+ value.to_s
119
+ when :Integer
120
+ value.to_i
121
+ when :Float
122
+ value.to_f
123
+ when :Boolean
124
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
125
+ true
126
+ else
127
+ false
128
+ end
129
+
130
+ when :Object
131
+ # generic object (usually a Hash), return directly
132
+ value
133
+ when /\AArray<(?<inner_type>.+)>\z/
134
+ inner_type = Regexp.last_match[:inner_type]
135
+ value.map { |v| _deserialize(inner_type, v) }
136
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
137
+ k_type = Regexp.last_match[:k_type]
138
+ v_type = Regexp.last_match[:v_type]
139
+ {}.tap do |hash|
140
+ value.each do |k, v|
141
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
142
+ end
143
+ end
144
+ # model
145
+ else
146
+ # models (e.g. Pet) or oneOf
147
+ klass = Algolia::Composition.const_get(type)
148
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
149
+ .build_from_hash(value)
150
+ end
151
+ end
152
+
153
+ # Returns the string representation of the object
154
+ # @return [String] String presentation of the object
155
+ def to_s
156
+ to_hash.to_s
157
+ end
158
+
159
+ # to_body is an alias to to_hash (backward compatibility)
160
+ # @return [Hash] Returns the object in the form of hash
161
+ def to_body
162
+ to_hash
163
+ end
164
+
165
+ def to_json(*_args)
166
+ to_hash.to_json
167
+ end
168
+
169
+ # Returns the object in the form of hash
170
+ # @return [Hash] Returns the object in the form of hash
171
+ def to_hash
172
+ hash = {}
173
+ self.class.attribute_map.each_pair do |attr, param|
174
+ value = send(attr)
175
+ if value.nil?
176
+ is_nullable = self.class.openapi_nullable.include?(attr)
177
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
178
+ end
179
+
180
+ hash[param] = _to_hash(value)
181
+ end
182
+
183
+ # also add attributes from additional_properties to hash
184
+ self.additional_properties&.each_pair do |k, v|
185
+ hash[k.to_sym] = _to_hash(v)
186
+ end
187
+
188
+ hash
189
+ end
190
+
191
+ # Outputs non-array value in the form of hash
192
+ # For object, use to_hash. Otherwise, just return the value
193
+ # @param [Object] value Any valid value
194
+ # @return [Hash] Returns the value in the form of hash
195
+ def _to_hash(value)
196
+ if value.is_a?(Array)
197
+ value.compact.map { |v| _to_hash(v) }
198
+ elsif value.is_a?(Hash)
199
+ {}.tap do |hash|
200
+ value.each { |k, v| hash[k] = _to_hash(v) }
201
+ end
202
+ elsif value.respond_to?(:to_hash)
203
+ value.to_hash
204
+ else
205
+ value
206
+ end
207
+ end
208
+
209
+ end
210
+
211
+ end
212
+ end
@@ -0,0 +1,209 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
4
+
5
+ require "date"
6
+ require "time"
7
+
8
+ module Algolia
9
+ module Composition
10
+ # Error.
11
+ class ErrorBase
12
+ attr_accessor :message
13
+
14
+ attr_accessor :additional_properties
15
+
16
+ # Attribute mapping from ruby-style variable name to JSON key.
17
+ def self.attribute_map
18
+ {
19
+ :message => :message
20
+ }
21
+ end
22
+
23
+ # Attribute type mapping.
24
+ def self.types_mapping
25
+ {
26
+ :message => :"String"
27
+ }
28
+ end
29
+
30
+ # List of attributes with nullable: true
31
+ def self.openapi_nullable
32
+ Set.new(
33
+ []
34
+ )
35
+ end
36
+
37
+ # Initializes the object
38
+ # @param [Hash] attributes Model attributes in the form of hash
39
+ def initialize(attributes = {})
40
+ if (!attributes.is_a?(Hash))
41
+ raise(
42
+ ArgumentError,
43
+ "The input argument (attributes) must be a hash in `Algolia::ErrorBase` initialize method"
44
+ )
45
+ end
46
+
47
+ if attributes.key?(:message)
48
+ self.message = attributes[:message]
49
+ end
50
+
51
+ # add extra attribute to additional_properties
52
+ self.additional_properties ||= {}
53
+ self.additional_properties.merge!(attributes.reject { |k, _| self.class.attribute_map.key?(k.to_sym) })
54
+ end
55
+
56
+ # Checks equality by comparing each attribute.
57
+ # @param [Object] Object to be compared
58
+ def ==(other)
59
+ return true if self.equal?(other)
60
+ self.class == other.class &&
61
+ message == other.message
62
+ end
63
+
64
+ # @see the `==` method
65
+ # @param [Object] Object to be compared
66
+ def eql?(other)
67
+ self == other
68
+ end
69
+
70
+ # Calculates hash code according to all attributes.
71
+ # @return [Integer] Hash code
72
+ def hash
73
+ [message].hash
74
+ end
75
+
76
+ # Builds the object from hash
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ # @return [Object] Returns the model itself
79
+ def self.build_from_hash(attributes)
80
+ return nil unless attributes.is_a?(Hash)
81
+ attributes = attributes.transform_keys(&:to_sym)
82
+ transformed_hash = {}
83
+ types_mapping.each_pair do |key, type|
84
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
85
+ transformed_hash[key.to_sym] = nil
86
+ elsif type =~ /\AArray<(.*)>/i
87
+ # check to ensure the input is an array given that the attribute
88
+ # is documented as an array but the input is not
89
+ if attributes[attribute_map[key]].is_a?(Array)
90
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
91
+ _deserialize(::Regexp.last_match(1), v)
92
+ }
93
+ end
94
+ elsif !attributes[attribute_map[key]].nil?
95
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
96
+ end
97
+ end
98
+
99
+ # add extra attribute to transformed_hash
100
+ transformed_hash.merge!(attributes.reject { |k, _| attribute_map.key?(k.to_sym) })
101
+ new(transformed_hash)
102
+ end
103
+
104
+ # Deserializes the data based on type
105
+ # @param string type Data type
106
+ # @param string value Value to be deserialized
107
+ # @return [Object] Deserialized data
108
+ def self._deserialize(type, value)
109
+ case type.to_sym
110
+ when :Time
111
+ Time.parse(value)
112
+ when :Date
113
+ Date.parse(value)
114
+ when :String
115
+ value.to_s
116
+ when :Integer
117
+ value.to_i
118
+ when :Float
119
+ value.to_f
120
+ when :Boolean
121
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
122
+ true
123
+ else
124
+ false
125
+ end
126
+
127
+ when :Object
128
+ # generic object (usually a Hash), return directly
129
+ value
130
+ when /\AArray<(?<inner_type>.+)>\z/
131
+ inner_type = Regexp.last_match[:inner_type]
132
+ value.map { |v| _deserialize(inner_type, v) }
133
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
134
+ k_type = Regexp.last_match[:k_type]
135
+ v_type = Regexp.last_match[:v_type]
136
+ {}.tap do |hash|
137
+ value.each do |k, v|
138
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
139
+ end
140
+ end
141
+ # model
142
+ else
143
+ # models (e.g. Pet) or oneOf
144
+ klass = Algolia::Composition.const_get(type)
145
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
146
+ .build_from_hash(value)
147
+ end
148
+ end
149
+
150
+ # Returns the string representation of the object
151
+ # @return [String] String presentation of the object
152
+ def to_s
153
+ to_hash.to_s
154
+ end
155
+
156
+ # to_body is an alias to to_hash (backward compatibility)
157
+ # @return [Hash] Returns the object in the form of hash
158
+ def to_body
159
+ to_hash
160
+ end
161
+
162
+ def to_json(*_args)
163
+ to_hash.to_json
164
+ end
165
+
166
+ # Returns the object in the form of hash
167
+ # @return [Hash] Returns the object in the form of hash
168
+ def to_hash
169
+ hash = {}
170
+ self.class.attribute_map.each_pair do |attr, param|
171
+ value = send(attr)
172
+ if value.nil?
173
+ is_nullable = self.class.openapi_nullable.include?(attr)
174
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
175
+ end
176
+
177
+ hash[param] = _to_hash(value)
178
+ end
179
+
180
+ # also add attributes from additional_properties to hash
181
+ self.additional_properties&.each_pair do |k, v|
182
+ hash[k.to_sym] = _to_hash(v)
183
+ end
184
+
185
+ hash
186
+ end
187
+
188
+ # Outputs non-array value in the form of hash
189
+ # For object, use to_hash. Otherwise, just return the value
190
+ # @param [Object] value Any valid value
191
+ # @return [Hash] Returns the value in the form of hash
192
+ def _to_hash(value)
193
+ if value.is_a?(Array)
194
+ value.compact.map { |v| _to_hash(v) }
195
+ elsif value.is_a?(Hash)
196
+ {}.tap do |hash|
197
+ value.each { |k, v| hash[k] = _to_hash(v) }
198
+ end
199
+ elsif value.respond_to?(:to_hash)
200
+ value.to_hash
201
+ else
202
+ value
203
+ end
204
+ end
205
+
206
+ end
207
+
208
+ end
209
+ end
@@ -0,0 +1,250 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
4
+
5
+ require "date"
6
+ require "time"
7
+
8
+ module Algolia
9
+ module Composition
10
+ # Whether certain properties of the search response are calculated exhaustive (exact) or approximated.
11
+ class Exhaustive
12
+ # Whether the facet count is exhaustive (`true`) or approximate (`false`). See the [related discussion](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-).
13
+ attr_accessor :facets_count
14
+
15
+ # The value is `false` if not all facet values are retrieved.
16
+ attr_accessor :facet_values
17
+
18
+ # Whether the `nbHits` is exhaustive (`true`) or approximate (`false`). When the query takes more than 50ms to be processed, the engine makes an approximation. This can happen when using complex filters on millions of records, when typo-tolerance was not exhaustive, or when enough hits have been retrieved (for example, after the engine finds 10,000 exact matches). `nbHits` is reported as non-exhaustive whenever an approximation is made, even if the approximation didn’t, in the end, impact the exhaustivity of the query.
19
+ attr_accessor :nb_hits
20
+
21
+ # Rules matching exhaustivity. The value is `false` if rules were enable for this query, and could not be fully processed due a timeout. This is generally caused by the number of alternatives (such as typos) which is too large.
22
+ attr_accessor :rules_match
23
+
24
+ # Whether the typo search was exhaustive (`true`) or approximate (`false`). An approximation is done when the typo search query part takes more than 10% of the query budget (ie. 5ms by default) to be processed (this can happen when a lot of typo alternatives exist for the query). This field will not be included when typo-tolerance is entirely disabled.
25
+ attr_accessor :typo
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :facets_count => :facetsCount,
31
+ :facet_values => :facetValues,
32
+ :nb_hits => :nbHits,
33
+ :rules_match => :rulesMatch,
34
+ :typo => :typo
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.types_mapping
40
+ {
41
+ :facets_count => :"Boolean",
42
+ :facet_values => :"Boolean",
43
+ :nb_hits => :"Boolean",
44
+ :rules_match => :"Boolean",
45
+ :typo => :"Boolean"
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new(
52
+ []
53
+ )
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ raise(
61
+ ArgumentError,
62
+ "The input argument (attributes) must be a hash in `Algolia::Exhaustive` initialize method"
63
+ )
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ raise(
70
+ ArgumentError,
71
+ "`#{k}` is not a valid attribute in `Algolia::Exhaustive`. Please check the name to make sure it's valid. List of attributes: " +
72
+ self.class.attribute_map.keys.inspect
73
+ )
74
+ end
75
+
76
+ h[k.to_sym] = v
77
+ }
78
+
79
+ if attributes.key?(:facets_count)
80
+ self.facets_count = attributes[:facets_count]
81
+ end
82
+
83
+ if attributes.key?(:facet_values)
84
+ self.facet_values = attributes[:facet_values]
85
+ end
86
+
87
+ if attributes.key?(:nb_hits)
88
+ self.nb_hits = attributes[:nb_hits]
89
+ end
90
+
91
+ if attributes.key?(:rules_match)
92
+ self.rules_match = attributes[:rules_match]
93
+ end
94
+
95
+ if attributes.key?(:typo)
96
+ self.typo = attributes[:typo]
97
+ end
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(other)
103
+ return true if self.equal?(other)
104
+ self.class == other.class &&
105
+ facets_count == other.facets_count &&
106
+ facet_values == other.facet_values &&
107
+ nb_hits == other.nb_hits &&
108
+ rules_match == other.rules_match &&
109
+ typo == other.typo
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(other)
115
+ self == other
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ def hash
121
+ [facets_count, facet_values, nb_hits, rules_match, typo].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def self.build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ attributes = attributes.transform_keys(&:to_sym)
130
+ transformed_hash = {}
131
+ types_mapping.each_pair do |key, type|
132
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
133
+ transformed_hash[key.to_sym] = nil
134
+ elsif type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[attribute_map[key]].is_a?(Array)
138
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
139
+ _deserialize(::Regexp.last_match(1), v)
140
+ }
141
+ end
142
+ elsif !attributes[attribute_map[key]].nil?
143
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
144
+ end
145
+ end
146
+
147
+ new(transformed_hash)
148
+ end
149
+
150
+ # Deserializes the data based on type
151
+ # @param string type Data type
152
+ # @param string value Value to be deserialized
153
+ # @return [Object] Deserialized data
154
+ def self._deserialize(type, value)
155
+ case type.to_sym
156
+ when :Time
157
+ Time.parse(value)
158
+ when :Date
159
+ Date.parse(value)
160
+ when :String
161
+ value.to_s
162
+ when :Integer
163
+ value.to_i
164
+ when :Float
165
+ value.to_f
166
+ when :Boolean
167
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
168
+ true
169
+ else
170
+ false
171
+ end
172
+
173
+ when :Object
174
+ # generic object (usually a Hash), return directly
175
+ value
176
+ when /\AArray<(?<inner_type>.+)>\z/
177
+ inner_type = Regexp.last_match[:inner_type]
178
+ value.map { |v| _deserialize(inner_type, v) }
179
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
180
+ k_type = Regexp.last_match[:k_type]
181
+ v_type = Regexp.last_match[:v_type]
182
+ {}.tap do |hash|
183
+ value.each do |k, v|
184
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
185
+ end
186
+ end
187
+ # model
188
+ else
189
+ # models (e.g. Pet) or oneOf
190
+ klass = Algolia::Composition.const_get(type)
191
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
192
+ .build_from_hash(value)
193
+ end
194
+ end
195
+
196
+ # Returns the string representation of the object
197
+ # @return [String] String presentation of the object
198
+ def to_s
199
+ to_hash.to_s
200
+ end
201
+
202
+ # to_body is an alias to to_hash (backward compatibility)
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_body
205
+ to_hash
206
+ end
207
+
208
+ def to_json(*_args)
209
+ to_hash.to_json
210
+ end
211
+
212
+ # Returns the object in the form of hash
213
+ # @return [Hash] Returns the object in the form of hash
214
+ def to_hash
215
+ hash = {}
216
+ self.class.attribute_map.each_pair do |attr, param|
217
+ value = send(attr)
218
+ if value.nil?
219
+ is_nullable = self.class.openapi_nullable.include?(attr)
220
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
221
+ end
222
+
223
+ hash[param] = _to_hash(value)
224
+ end
225
+
226
+ hash
227
+ end
228
+
229
+ # Outputs non-array value in the form of hash
230
+ # For object, use to_hash. Otherwise, just return the value
231
+ # @param [Object] value Any valid value
232
+ # @return [Hash] Returns the value in the form of hash
233
+ def _to_hash(value)
234
+ if value.is_a?(Array)
235
+ value.compact.map { |v| _to_hash(v) }
236
+ elsif value.is_a?(Hash)
237
+ {}.tap do |hash|
238
+ value.each { |k, v| hash[k] = _to_hash(v) }
239
+ end
240
+ elsif value.respond_to?(:to_hash)
241
+ value.to_hash
242
+ else
243
+ value
244
+ end
245
+ end
246
+
247
+ end
248
+
249
+ end
250
+ end