algolia 3.0.0.beta.8 → 3.0.0.beta.9

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 (586) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +2 -0
  3. data/CHANGELOG.md +8 -0
  4. data/Gemfile.lock +3 -30
  5. data/Rakefile +0 -2
  6. data/algolia.gemspec +1 -1
  7. data/lib/algolia/api/abtesting_client.rb +52 -37
  8. data/lib/algolia/api/analytics_client.rb +415 -116
  9. data/lib/algolia/api/ingestion_client.rb +462 -182
  10. data/lib/algolia/api/insights_client.rb +45 -28
  11. data/lib/algolia/api/monitoring_client.rb +50 -44
  12. data/lib/algolia/api/personalization_client.rb +57 -32
  13. data/lib/algolia/api/query_suggestions_client.rb +59 -40
  14. data/lib/algolia/api/recommend_client.rb +70 -43
  15. data/lib/algolia/api/search_client.rb +461 -264
  16. data/lib/algolia/api/usage_client.rb +48 -28
  17. data/lib/algolia/api_client.rb +25 -24
  18. data/lib/algolia/api_error.rb +8 -8
  19. data/lib/algolia/configuration.rb +17 -6
  20. data/lib/algolia/error.rb +2 -2
  21. data/lib/algolia/logger_helper.rb +4 -4
  22. data/lib/algolia/models/abtesting/ab_test.rb +62 -37
  23. data/lib/algolia/models/abtesting/ab_test_configuration.rb +35 -20
  24. data/lib/algolia/models/abtesting/ab_test_response.rb +35 -20
  25. data/lib/algolia/models/abtesting/ab_tests_variant.rb +38 -23
  26. data/lib/algolia/models/abtesting/ab_tests_variant_search_params.rb +41 -26
  27. data/lib/algolia/models/abtesting/add_ab_tests_request.rb +38 -23
  28. data/lib/algolia/models/abtesting/add_ab_tests_variant.rb +33 -24
  29. data/lib/algolia/models/abtesting/currency.rb +32 -20
  30. data/lib/algolia/models/abtesting/custom_search_params.rb +33 -18
  31. data/lib/algolia/models/abtesting/effect.rb +2 -3
  32. data/lib/algolia/models/abtesting/empty_search.rb +33 -18
  33. data/lib/algolia/models/abtesting/error_base.rb +24 -13
  34. data/lib/algolia/models/abtesting/filter_effects.rb +34 -19
  35. data/lib/algolia/models/abtesting/filter_effects_empty_search.rb +34 -19
  36. data/lib/algolia/models/abtesting/filter_effects_outliers.rb +34 -19
  37. data/lib/algolia/models/abtesting/list_ab_tests_response.rb +37 -22
  38. data/lib/algolia/models/abtesting/minimum_detectable_effect.rb +37 -22
  39. data/lib/algolia/models/abtesting/outliers.rb +29 -17
  40. data/lib/algolia/models/abtesting/status.rb +2 -3
  41. data/lib/algolia/models/abtesting/variant.rb +83 -51
  42. data/lib/algolia/models/analytics/click_positions_inner.rb +39 -24
  43. data/lib/algolia/models/analytics/currencies_value.rb +34 -19
  44. data/lib/algolia/models/analytics/daily_add_to_cart_rates.rb +42 -27
  45. data/lib/algolia/models/analytics/daily_average_clicks.rb +40 -25
  46. data/lib/algolia/models/analytics/daily_click_through_rates.rb +42 -27
  47. data/lib/algolia/models/analytics/daily_conversion_rates.rb +42 -27
  48. data/lib/algolia/models/analytics/daily_no_click_rates.rb +41 -26
  49. data/lib/algolia/models/analytics/daily_no_results_rates.rb +39 -24
  50. data/lib/algolia/models/analytics/daily_purchase_rates.rb +40 -25
  51. data/lib/algolia/models/analytics/daily_revenue.rb +34 -19
  52. data/lib/algolia/models/analytics/daily_searches.rb +34 -19
  53. data/lib/algolia/models/analytics/daily_searches_no_clicks.rb +37 -22
  54. data/lib/algolia/models/analytics/daily_searches_no_results.rb +37 -22
  55. data/lib/algolia/models/analytics/daily_users.rb +34 -19
  56. data/lib/algolia/models/analytics/direction.rb +2 -3
  57. data/lib/algolia/models/analytics/error_base.rb +24 -13
  58. data/lib/algolia/models/analytics/get_add_to_cart_rate_response.rb +42 -27
  59. data/lib/algolia/models/analytics/get_average_click_position_response.rb +40 -25
  60. data/lib/algolia/models/analytics/get_click_positions_response.rb +36 -21
  61. data/lib/algolia/models/analytics/get_click_through_rate_response.rb +42 -27
  62. data/lib/algolia/models/analytics/get_conversion_rate_response.rb +42 -27
  63. data/lib/algolia/models/analytics/get_no_click_rate_response.rb +41 -26
  64. data/lib/algolia/models/analytics/get_no_results_rate_response.rb +39 -24
  65. data/lib/algolia/models/analytics/get_purchase_rate_response.rb +40 -25
  66. data/lib/algolia/models/analytics/get_revenue.rb +34 -19
  67. data/lib/algolia/models/analytics/get_searches_count_response.rb +34 -19
  68. data/lib/algolia/models/analytics/get_searches_no_clicks_response.rb +33 -18
  69. data/lib/algolia/models/analytics/get_searches_no_results_response.rb +33 -18
  70. data/lib/algolia/models/analytics/get_status_response.rb +35 -20
  71. data/lib/algolia/models/analytics/get_top_countries_response.rb +33 -18
  72. data/lib/algolia/models/analytics/get_top_filter_attribute.rb +34 -19
  73. data/lib/algolia/models/analytics/get_top_filter_attributes_response.rb +33 -18
  74. data/lib/algolia/models/analytics/get_top_filter_for_attribute.rb +36 -21
  75. data/lib/algolia/models/analytics/get_top_filter_for_attribute_response.rb +33 -18
  76. data/lib/algolia/models/analytics/get_top_filters_no_results_response.rb +35 -20
  77. data/lib/algolia/models/analytics/get_top_filters_no_results_value.rb +35 -20
  78. data/lib/algolia/models/analytics/get_top_filters_no_results_values.rb +34 -19
  79. data/lib/algolia/models/analytics/get_top_hits_response.rb +34 -25
  80. data/lib/algolia/models/analytics/get_top_searches_response.rb +34 -25
  81. data/lib/algolia/models/analytics/get_users_count_response.rb +34 -19
  82. data/lib/algolia/models/analytics/operator.rb +2 -3
  83. data/lib/algolia/models/analytics/order_by.rb +2 -3
  84. data/lib/algolia/models/analytics/top_country.rb +34 -19
  85. data/lib/algolia/models/analytics/top_hit.rb +30 -18
  86. data/lib/algolia/models/analytics/top_hit_with_analytics.rb +50 -35
  87. data/lib/algolia/models/analytics/top_hit_with_revenue_analytics.rb +77 -50
  88. data/lib/algolia/models/analytics/top_hits_response.rb +33 -18
  89. data/lib/algolia/models/analytics/top_hits_response_with_analytics.rb +33 -18
  90. data/lib/algolia/models/analytics/top_hits_response_with_revenue_analytics.rb +33 -18
  91. data/lib/algolia/models/analytics/top_search.rb +35 -20
  92. data/lib/algolia/models/analytics/top_search_with_analytics.rb +76 -44
  93. data/lib/algolia/models/analytics/top_search_with_revenue_analytics.rb +94 -58
  94. data/lib/algolia/models/analytics/top_searches_response.rb +33 -18
  95. data/lib/algolia/models/analytics/top_searches_response_with_analytics.rb +33 -18
  96. data/lib/algolia/models/analytics/top_searches_response_with_revenue_analytics.rb +33 -18
  97. data/lib/algolia/models/ingestion/action_type.rb +2 -3
  98. data/lib/algolia/models/ingestion/auth_algolia.rb +34 -19
  99. data/lib/algolia/models/ingestion/auth_algolia_insights.rb +34 -19
  100. data/lib/algolia/models/ingestion/auth_algolia_insights_partial.rb +34 -19
  101. data/lib/algolia/models/ingestion/auth_algolia_partial.rb +34 -19
  102. data/lib/algolia/models/ingestion/auth_api_key.rb +33 -18
  103. data/lib/algolia/models/ingestion/auth_api_key_partial.rb +33 -18
  104. data/lib/algolia/models/ingestion/auth_basic.rb +34 -19
  105. data/lib/algolia/models/ingestion/auth_basic_partial.rb +34 -19
  106. data/lib/algolia/models/ingestion/auth_google_service_account.rb +34 -19
  107. data/lib/algolia/models/ingestion/auth_google_service_account_partial.rb +34 -19
  108. data/lib/algolia/models/ingestion/auth_input.rb +37 -28
  109. data/lib/algolia/models/ingestion/auth_input_partial.rb +37 -28
  110. data/lib/algolia/models/ingestion/auth_o_auth.rb +36 -21
  111. data/lib/algolia/models/ingestion/auth_o_auth_partial.rb +36 -21
  112. data/lib/algolia/models/ingestion/authentication.rb +41 -26
  113. data/lib/algolia/models/ingestion/authentication_create.rb +38 -23
  114. data/lib/algolia/models/ingestion/authentication_create_response.rb +35 -20
  115. data/lib/algolia/models/ingestion/authentication_search.rb +33 -18
  116. data/lib/algolia/models/ingestion/authentication_sort_keys.rb +2 -3
  117. data/lib/algolia/models/ingestion/authentication_type.rb +2 -3
  118. data/lib/algolia/models/ingestion/authentication_update.rb +38 -23
  119. data/lib/algolia/models/ingestion/authentication_update_response.rb +35 -20
  120. data/lib/algolia/models/ingestion/big_commerce_channel.rb +34 -19
  121. data/lib/algolia/models/ingestion/big_commerce_metafield.rb +34 -19
  122. data/lib/algolia/models/ingestion/big_query_data_type.rb +2 -3
  123. data/lib/algolia/models/ingestion/commercetools_custom_fields.rb +39 -24
  124. data/lib/algolia/models/ingestion/delete_response.rb +33 -18
  125. data/lib/algolia/models/ingestion/destination.rb +39 -24
  126. data/lib/algolia/models/ingestion/destination_create.rb +36 -21
  127. data/lib/algolia/models/ingestion/destination_create_response.rb +35 -20
  128. data/lib/algolia/models/ingestion/destination_index_name.rb +35 -20
  129. data/lib/algolia/models/ingestion/destination_index_prefix.rb +33 -18
  130. data/lib/algolia/models/ingestion/destination_input.rb +33 -24
  131. data/lib/algolia/models/ingestion/destination_search.rb +33 -18
  132. data/lib/algolia/models/ingestion/destination_sort_keys.rb +2 -3
  133. data/lib/algolia/models/ingestion/destination_type.rb +2 -3
  134. data/lib/algolia/models/ingestion/destination_update.rb +36 -21
  135. data/lib/algolia/models/ingestion/destination_update_response.rb +35 -20
  136. data/lib/algolia/models/ingestion/docker_image_type.rb +2 -3
  137. data/lib/algolia/models/ingestion/docker_registry.rb +2 -3
  138. data/lib/algolia/models/ingestion/{on_demand_date_utils_input.rb → docker_streams_input.rb} +41 -49
  139. data/lib/algolia/models/ingestion/error_base.rb +24 -13
  140. data/lib/algolia/models/ingestion/event.rb +38 -26
  141. data/lib/algolia/models/ingestion/event_sort_keys.rb +2 -3
  142. data/lib/algolia/models/ingestion/event_status.rb +2 -3
  143. data/lib/algolia/models/ingestion/event_type.rb +2 -3
  144. data/lib/algolia/models/ingestion/list_authentications_response.rb +34 -19
  145. data/lib/algolia/models/ingestion/list_destinations_response.rb +34 -19
  146. data/lib/algolia/models/ingestion/list_events_response.rb +35 -20
  147. data/lib/algolia/models/ingestion/list_sources_response.rb +34 -19
  148. data/lib/algolia/models/ingestion/list_tasks_response.rb +34 -19
  149. data/lib/algolia/models/ingestion/list_transformations_response.rb +34 -19
  150. data/lib/algolia/models/ingestion/mapping_field_directive.rb +34 -19
  151. data/lib/algolia/models/ingestion/mapping_format_schema.rb +2 -3
  152. data/lib/algolia/models/ingestion/mapping_input.rb +34 -19
  153. data/lib/algolia/models/ingestion/mapping_kit_action.rb +36 -21
  154. data/lib/algolia/models/ingestion/mapping_type_csv.rb +2 -3
  155. data/lib/algolia/models/ingestion/method_type.rb +2 -3
  156. data/lib/algolia/models/ingestion/on_demand_trigger.rb +34 -19
  157. data/lib/algolia/models/ingestion/on_demand_trigger_input.rb +33 -18
  158. data/lib/algolia/models/ingestion/on_demand_trigger_type.rb +2 -3
  159. data/lib/algolia/models/ingestion/order_keys.rb +2 -3
  160. data/lib/algolia/models/ingestion/pagination.rb +45 -30
  161. data/lib/algolia/models/ingestion/platform.rb +2 -3
  162. data/lib/algolia/models/ingestion/platform_none.rb +2 -3
  163. data/lib/algolia/models/ingestion/platform_with_none.rb +33 -24
  164. data/lib/algolia/models/ingestion/record_type.rb +2 -3
  165. data/lib/algolia/models/ingestion/run.rb +59 -33
  166. data/lib/algolia/models/ingestion/run_list_response.rb +35 -20
  167. data/lib/algolia/models/ingestion/run_outcome.rb +2 -3
  168. data/lib/algolia/models/ingestion/run_progress.rb +34 -19
  169. data/lib/algolia/models/ingestion/run_reason_code.rb +2 -3
  170. data/lib/algolia/models/ingestion/run_response.rb +34 -19
  171. data/lib/algolia/models/ingestion/run_sort_keys.rb +2 -3
  172. data/lib/algolia/models/ingestion/run_status.rb +2 -3
  173. data/lib/algolia/models/ingestion/run_type.rb +2 -3
  174. data/lib/algolia/models/ingestion/schedule_trigger.rb +36 -21
  175. data/lib/algolia/models/ingestion/schedule_trigger_input.rb +34 -19
  176. data/lib/algolia/models/ingestion/schedule_trigger_type.rb +2 -3
  177. data/lib/algolia/models/ingestion/shopify_input.rb +34 -19
  178. data/lib/algolia/models/ingestion/shopify_market.rb +35 -20
  179. data/lib/algolia/models/ingestion/shopify_metafield.rb +35 -20
  180. data/lib/algolia/models/ingestion/sort_keys.rb +2 -3
  181. data/lib/algolia/models/ingestion/source.rb +35 -23
  182. data/lib/algolia/models/ingestion/source_big_commerce.rb +37 -22
  183. data/lib/algolia/models/ingestion/source_big_query.rb +39 -24
  184. data/lib/algolia/models/ingestion/source_commercetools.rb +38 -23
  185. data/lib/algolia/models/ingestion/source_create.rb +36 -21
  186. data/lib/algolia/models/ingestion/source_create_response.rb +35 -20
  187. data/lib/algolia/models/ingestion/source_csv.rb +43 -25
  188. data/lib/algolia/models/ingestion/source_docker.rb +37 -22
  189. data/lib/algolia/models/ingestion/source_ga4_big_query_export.rb +35 -20
  190. data/lib/algolia/models/ingestion/source_input.rb +39 -30
  191. data/lib/algolia/models/ingestion/source_json.rb +35 -20
  192. data/lib/algolia/models/ingestion/source_search.rb +33 -18
  193. data/lib/algolia/models/ingestion/source_shopify.rb +52 -29
  194. data/lib/algolia/models/ingestion/source_shopify_base.rb +33 -18
  195. data/lib/algolia/models/ingestion/source_sort_keys.rb +2 -3
  196. data/lib/algolia/models/ingestion/source_type.rb +2 -3
  197. data/lib/algolia/models/ingestion/source_update.rb +35 -20
  198. data/lib/algolia/models/ingestion/source_update_commercetools.rb +37 -22
  199. data/lib/algolia/models/ingestion/source_update_docker.rb +36 -21
  200. data/lib/algolia/models/ingestion/source_update_input.rb +38 -29
  201. data/lib/algolia/models/ingestion/source_update_response.rb +35 -20
  202. data/lib/algolia/models/ingestion/source_update_shopify.rb +48 -26
  203. data/lib/algolia/models/ingestion/source_watch_response.rb +36 -21
  204. data/lib/algolia/models/ingestion/{streaming_utils_input.rb → streaming_input.rb} +34 -19
  205. data/lib/algolia/models/ingestion/streaming_trigger.rb +33 -18
  206. data/lib/algolia/models/ingestion/streaming_trigger_type.rb +2 -3
  207. data/lib/algolia/models/ingestion/subscription_trigger.rb +33 -18
  208. data/lib/algolia/models/ingestion/subscription_trigger_type.rb +2 -3
  209. data/lib/algolia/models/ingestion/task.rb +55 -31
  210. data/lib/algolia/models/ingestion/task_create.rb +43 -28
  211. data/lib/algolia/models/ingestion/task_create_response.rb +34 -19
  212. data/lib/algolia/models/ingestion/task_create_trigger.rb +35 -26
  213. data/lib/algolia/models/ingestion/task_input.rb +34 -26
  214. data/lib/algolia/models/ingestion/task_search.rb +33 -18
  215. data/lib/algolia/models/ingestion/task_sort_keys.rb +2 -3
  216. data/lib/algolia/models/ingestion/task_update.rb +40 -25
  217. data/lib/algolia/models/ingestion/task_update_response.rb +34 -19
  218. data/lib/algolia/models/ingestion/transformation.rb +38 -25
  219. data/lib/algolia/models/ingestion/transformation_create.rb +35 -22
  220. data/lib/algolia/models/ingestion/transformation_create_response.rb +34 -19
  221. data/lib/algolia/models/ingestion/transformation_search.rb +33 -18
  222. data/lib/algolia/models/ingestion/transformation_try.rb +34 -19
  223. data/lib/algolia/models/ingestion/transformation_try_response.rb +34 -19
  224. data/lib/algolia/models/ingestion/transformation_try_response_error.rb +34 -19
  225. data/lib/algolia/models/ingestion/transformation_update_response.rb +34 -19
  226. data/lib/algolia/models/ingestion/trigger.rb +35 -26
  227. data/lib/algolia/models/ingestion/trigger_type.rb +2 -3
  228. data/lib/algolia/models/ingestion/trigger_update_input.rb +33 -18
  229. data/lib/algolia/models/ingestion/window.rb +30 -18
  230. data/lib/algolia/models/insights/add_to_cart_event.rb +2 -3
  231. data/lib/algolia/models/insights/added_to_cart_object_ids.rb +91 -46
  232. data/lib/algolia/models/insights/added_to_cart_object_ids_after_search.rb +99 -50
  233. data/lib/algolia/models/insights/click_event.rb +2 -3
  234. data/lib/algolia/models/insights/clicked_filters.rb +71 -38
  235. data/lib/algolia/models/insights/clicked_object_ids.rb +71 -38
  236. data/lib/algolia/models/insights/clicked_object_ids_after_search.rb +93 -47
  237. data/lib/algolia/models/insights/conversion_event.rb +2 -3
  238. data/lib/algolia/models/insights/converted_filters.rb +71 -38
  239. data/lib/algolia/models/insights/converted_object_ids.rb +71 -38
  240. data/lib/algolia/models/insights/converted_object_ids_after_search.rb +78 -42
  241. data/lib/algolia/models/insights/discount.rb +33 -24
  242. data/lib/algolia/models/insights/error_base.rb +24 -13
  243. data/lib/algolia/models/insights/events_items.rb +43 -34
  244. data/lib/algolia/models/insights/events_response.rb +34 -19
  245. data/lib/algolia/models/insights/insights_events.rb +36 -21
  246. data/lib/algolia/models/insights/object_data.rb +35 -20
  247. data/lib/algolia/models/insights/object_data_after_search.rb +42 -24
  248. data/lib/algolia/models/insights/price.rb +33 -24
  249. data/lib/algolia/models/insights/purchase_event.rb +2 -3
  250. data/lib/algolia/models/insights/purchased_object_ids.rb +91 -46
  251. data/lib/algolia/models/insights/purchased_object_ids_after_search.rb +91 -46
  252. data/lib/algolia/models/insights/value.rb +33 -24
  253. data/lib/algolia/models/insights/view_event.rb +2 -3
  254. data/lib/algolia/models/insights/viewed_filters.rb +71 -38
  255. data/lib/algolia/models/insights/viewed_object_ids.rb +71 -38
  256. data/lib/algolia/models/monitoring/error_base.rb +24 -13
  257. data/lib/algolia/models/monitoring/get_servers403_response.rb +33 -18
  258. data/lib/algolia/models/monitoring/incident.rb +30 -18
  259. data/lib/algolia/models/monitoring/incidents_inner.rb +34 -19
  260. data/lib/algolia/models/monitoring/incidents_response.rb +33 -18
  261. data/lib/algolia/models/monitoring/indexing_time_response.rb +33 -18
  262. data/lib/algolia/models/monitoring/indexing_time_response_metrics.rb +33 -18
  263. data/lib/algolia/models/monitoring/infrastructure_response.rb +33 -18
  264. data/lib/algolia/models/monitoring/infrastructure_response_metrics.rb +37 -22
  265. data/lib/algolia/models/monitoring/inventory_response.rb +33 -18
  266. data/lib/algolia/models/monitoring/latency_response.rb +33 -18
  267. data/lib/algolia/models/monitoring/latency_response_metrics.rb +33 -18
  268. data/lib/algolia/models/monitoring/metric.rb +2 -3
  269. data/lib/algolia/models/monitoring/period.rb +2 -3
  270. data/lib/algolia/models/monitoring/probes_metric.rb +34 -19
  271. data/lib/algolia/models/monitoring/region.rb +2 -3
  272. data/lib/algolia/models/monitoring/server.rb +35 -23
  273. data/lib/algolia/models/monitoring/server_status.rb +2 -3
  274. data/lib/algolia/models/monitoring/status.rb +2 -3
  275. data/lib/algolia/models/monitoring/status_response.rb +33 -18
  276. data/lib/algolia/models/monitoring/time_inner.rb +34 -19
  277. data/lib/algolia/models/monitoring/type.rb +2 -3
  278. data/lib/algolia/models/personalization/delete_user_profile_response.rb +34 -19
  279. data/lib/algolia/models/personalization/error_base.rb +24 -13
  280. data/lib/algolia/models/personalization/event_scoring.rb +35 -20
  281. data/lib/algolia/models/personalization/event_type.rb +2 -3
  282. data/lib/algolia/models/personalization/facet_scoring.rb +34 -19
  283. data/lib/algolia/models/personalization/get_user_token_response.rb +35 -20
  284. data/lib/algolia/models/personalization/personalization_strategy_params.rb +38 -23
  285. data/lib/algolia/models/personalization/set_personalization_strategy_response.rb +33 -18
  286. data/lib/algolia/models/query-suggestions/app_id.rb +29 -17
  287. data/lib/algolia/models/query-suggestions/base_query_suggestions_configuration_response.rb +22 -9
  288. data/lib/algolia/models/query-suggestions/base_query_suggestions_configuration_with_index.rb +22 -9
  289. data/lib/algolia/models/query-suggestions/base_response.rb +34 -19
  290. data/lib/algolia/models/query-suggestions/configuration.rb +44 -26
  291. data/lib/algolia/models/query-suggestions/configuration_response.rb +48 -30
  292. data/lib/algolia/models/query-suggestions/configuration_with_index.rb +46 -28
  293. data/lib/algolia/models/query-suggestions/error_base.rb +24 -13
  294. data/lib/algolia/models/query-suggestions/facet.rb +30 -18
  295. data/lib/algolia/models/query-suggestions/get_config_status200_response.rb +37 -22
  296. data/lib/algolia/models/query-suggestions/get_log_file200_response.rb +36 -21
  297. data/lib/algolia/models/query-suggestions/languages.rb +33 -24
  298. data/lib/algolia/models/query-suggestions/log_level.rb +2 -3
  299. data/lib/algolia/models/query-suggestions/query_suggestions_configuration.rb +34 -16
  300. data/lib/algolia/models/query-suggestions/query_suggestions_configuration_response.rb +34 -16
  301. data/lib/algolia/models/query-suggestions/query_suggestions_configuration_with_index.rb +34 -16
  302. data/lib/algolia/models/query-suggestions/source_index.rb +49 -34
  303. data/lib/algolia/models/recommend/advanced_syntax_features.rb +2 -3
  304. data/lib/algolia/models/recommend/alternatives_as_exact.rb +2 -3
  305. data/lib/algolia/models/recommend/around_precision.rb +33 -24
  306. data/lib/algolia/models/recommend/around_precision_from_value_inner.rb +34 -19
  307. data/lib/algolia/models/recommend/around_radius.rb +33 -24
  308. data/lib/algolia/models/recommend/around_radius_all.rb +2 -3
  309. data/lib/algolia/models/recommend/auto_facet_filter.rb +34 -19
  310. data/lib/algolia/models/recommend/base_recommend_request.rb +42 -27
  311. data/lib/algolia/models/recommend/base_search_params.rb +110 -63
  312. data/lib/algolia/models/recommend/base_search_params_without_query.rb +106 -60
  313. data/lib/algolia/models/recommend/base_search_response.rb +76 -121
  314. data/lib/algolia/models/recommend/bought_together_query.rb +46 -31
  315. data/lib/algolia/models/recommend/condition.rb +35 -20
  316. data/lib/algolia/models/recommend/consequence.rb +39 -24
  317. data/lib/algolia/models/recommend/deleted_at_response.rb +34 -19
  318. data/lib/algolia/models/recommend/distinct.rb +33 -24
  319. data/lib/algolia/models/recommend/error_base.rb +24 -13
  320. data/lib/algolia/models/recommend/exact_on_single_word_query.rb +2 -3
  321. data/lib/algolia/models/recommend/exhaustive.rb +37 -22
  322. data/lib/algolia/models/recommend/facet_filters.rb +33 -24
  323. data/lib/algolia/models/recommend/facet_ordering.rb +34 -19
  324. data/lib/algolia/models/recommend/facets.rb +29 -17
  325. data/lib/algolia/models/recommend/facets_stats.rb +36 -21
  326. data/lib/algolia/models/recommend/fallback_params.rb +207 -118
  327. data/lib/algolia/models/recommend/fbt_model.rb +2 -3
  328. data/lib/algolia/models/recommend/frequently_bought_together.rb +34 -19
  329. data/lib/algolia/models/recommend/get_recommend_task_response.rb +33 -18
  330. data/lib/algolia/models/recommend/get_recommendations_params.rb +33 -18
  331. data/lib/algolia/models/recommend/get_recommendations_response.rb +33 -18
  332. data/lib/algolia/models/recommend/hide_consequence_object.rb +33 -18
  333. data/lib/algolia/models/recommend/highlight_result.rb +34 -25
  334. data/lib/algolia/models/recommend/highlight_result_option.rb +36 -21
  335. data/lib/algolia/models/recommend/ignore_plurals.rb +33 -24
  336. data/lib/algolia/models/recommend/index_settings_as_search_params.rb +134 -75
  337. data/lib/algolia/models/recommend/looking_similar.rb +35 -20
  338. data/lib/algolia/models/recommend/looking_similar_model.rb +2 -3
  339. data/lib/algolia/models/recommend/looking_similar_query.rb +47 -32
  340. data/lib/algolia/models/recommend/match_level.rb +2 -3
  341. data/lib/algolia/models/recommend/matched_geo_location.rb +35 -20
  342. data/lib/algolia/models/recommend/mode.rb +2 -3
  343. data/lib/algolia/models/recommend/numeric_filters.rb +33 -24
  344. data/lib/algolia/models/recommend/optional_filters.rb +33 -24
  345. data/lib/algolia/models/recommend/params_consequence.rb +35 -20
  346. data/lib/algolia/models/recommend/personalization.rb +35 -20
  347. data/lib/algolia/models/recommend/promote_consequence_object.rb +36 -21
  348. data/lib/algolia/models/recommend/query_type.rb +2 -3
  349. data/lib/algolia/models/recommend/ranking_info.rb +76 -48
  350. data/lib/algolia/models/recommend/re_ranking_apply_filter.rb +33 -24
  351. data/lib/algolia/models/recommend/recommend_hit.rb +32 -21
  352. data/lib/algolia/models/recommend/recommend_models.rb +2 -3
  353. data/lib/algolia/models/recommend/recommend_rule.rb +38 -23
  354. data/lib/algolia/models/recommend/recommend_rule_metadata.rb +33 -18
  355. data/lib/algolia/models/recommend/recommendations_hit.rb +33 -24
  356. data/lib/algolia/models/recommend/recommendations_hits.rb +33 -18
  357. data/lib/algolia/models/recommend/recommendations_request.rb +37 -28
  358. data/lib/algolia/models/recommend/recommendations_results.rb +159 -114
  359. data/lib/algolia/models/recommend/recommended_for_you.rb +34 -19
  360. data/lib/algolia/models/recommend/recommended_for_you_model.rb +2 -3
  361. data/lib/algolia/models/recommend/recommended_for_you_query.rb +46 -31
  362. data/lib/algolia/models/recommend/redirect.rb +29 -17
  363. data/lib/algolia/models/recommend/redirect_rule_index_metadata.rb +37 -22
  364. data/lib/algolia/models/recommend/redirect_rule_index_metadata_data.rb +33 -18
  365. data/lib/algolia/models/recommend/redirect_url.rb +33 -18
  366. data/lib/algolia/models/recommend/related_model.rb +2 -3
  367. data/lib/algolia/models/recommend/related_products.rb +35 -20
  368. data/lib/algolia/models/recommend/related_query.rb +47 -32
  369. data/lib/algolia/models/recommend/remove_stop_words.rb +33 -24
  370. data/lib/algolia/models/recommend/remove_words_if_no_results.rb +2 -3
  371. data/lib/algolia/models/recommend/rendering_content.rb +34 -19
  372. data/lib/algolia/models/recommend/search_pagination.rb +282 -0
  373. data/lib/algolia/models/recommend/search_params.rb +207 -118
  374. data/lib/algolia/models/recommend/search_params_object.rb +208 -119
  375. data/lib/algolia/models/recommend/search_params_query.rb +33 -18
  376. data/lib/algolia/models/recommend/search_recommend_rules_params.rb +48 -33
  377. data/lib/algolia/models/recommend/search_recommend_rules_response.rb +38 -23
  378. data/lib/algolia/models/recommend/semantic_search.rb +35 -20
  379. data/lib/algolia/models/recommend/snippet_result.rb +34 -25
  380. data/lib/algolia/models/recommend/snippet_result_option.rb +34 -19
  381. data/lib/algolia/models/recommend/sort_remaining_by.rb +2 -3
  382. data/lib/algolia/models/recommend/supported_language.rb +72 -5
  383. data/lib/algolia/models/recommend/tag_filters.rb +33 -24
  384. data/lib/algolia/models/recommend/task_status.rb +2 -3
  385. data/lib/algolia/models/recommend/trending_facet_hit.rb +38 -23
  386. data/lib/algolia/models/recommend/trending_facets.rb +37 -22
  387. data/lib/algolia/models/recommend/trending_facets_model.rb +2 -3
  388. data/lib/algolia/models/recommend/trending_facets_query.rb +49 -34
  389. data/lib/algolia/models/recommend/trending_items.rb +36 -21
  390. data/lib/algolia/models/recommend/trending_items_model.rb +2 -3
  391. data/lib/algolia/models/recommend/trending_items_query.rb +58 -34
  392. data/lib/algolia/models/recommend/typo_tolerance.rb +33 -24
  393. data/lib/algolia/models/recommend/typo_tolerance_enum.rb +2 -3
  394. data/lib/algolia/models/recommend/value.rb +31 -19
  395. data/lib/algolia/models/search/acl.rb +19 -5
  396. data/lib/algolia/models/search/action.rb +11 -4
  397. data/lib/algolia/models/search/add_api_key_response.rb +34 -19
  398. data/lib/algolia/models/search/advanced_syntax_features.rb +2 -3
  399. data/lib/algolia/models/search/alternatives_as_exact.rb +2 -3
  400. data/lib/algolia/models/search/anchoring.rb +2 -3
  401. data/lib/algolia/models/search/api_key.rb +46 -25
  402. data/lib/algolia/models/search/api_key_operation.rb +2 -3
  403. data/lib/algolia/models/search/around_precision.rb +33 -24
  404. data/lib/algolia/models/search/around_precision_from_value_inner.rb +34 -19
  405. data/lib/algolia/models/search/around_radius.rb +33 -24
  406. data/lib/algolia/models/search/around_radius_all.rb +2 -3
  407. data/lib/algolia/models/search/assign_user_id_params.rb +33 -18
  408. data/lib/algolia/models/search/attribute_to_update.rb +33 -24
  409. data/lib/algolia/models/search/automatic_facet_filter.rb +35 -20
  410. data/lib/algolia/models/search/automatic_facet_filters.rb +33 -24
  411. data/lib/algolia/models/search/base_get_api_key_response.rb +34 -19
  412. data/lib/algolia/models/search/base_index_settings.rb +71 -39
  413. data/lib/algolia/models/search/base_search_params.rb +110 -63
  414. data/lib/algolia/models/search/base_search_params_without_query.rb +106 -60
  415. data/lib/algolia/models/search/base_search_response.rb +76 -121
  416. data/lib/algolia/models/search/batch_assign_user_ids_params.rb +34 -19
  417. data/lib/algolia/models/search/batch_dictionary_entries_params.rb +34 -19
  418. data/lib/algolia/models/search/batch_dictionary_entries_request.rb +34 -19
  419. data/lib/algolia/models/search/batch_params.rb +33 -18
  420. data/lib/algolia/models/search/batch_request.rb +34 -19
  421. data/lib/algolia/models/search/batch_response.rb +34 -19
  422. data/lib/algolia/models/search/batch_write_params.rb +33 -18
  423. data/lib/algolia/models/{ingestion/schedule_date_utils_input.rb → search/browse_pagination.rb} +92 -45
  424. data/lib/algolia/models/search/browse_params.rb +33 -24
  425. data/lib/algolia/models/search/browse_params_object.rb +210 -120
  426. data/lib/algolia/models/search/browse_response.rb +158 -118
  427. data/lib/algolia/models/search/built_in_operation.rb +34 -19
  428. data/lib/algolia/models/search/built_in_operation_type.rb +2 -3
  429. data/lib/algolia/models/search/condition.rb +38 -23
  430. data/lib/algolia/models/search/consequence.rb +43 -28
  431. data/lib/algolia/models/search/consequence_hide.rb +33 -18
  432. data/lib/algolia/models/search/consequence_params.rb +213 -122
  433. data/lib/algolia/models/search/consequence_query.rb +33 -24
  434. data/lib/algolia/models/search/consequence_query_object.rb +34 -19
  435. data/lib/algolia/models/search/created_at_response.rb +33 -18
  436. data/lib/algolia/models/search/cursor.rb +29 -17
  437. data/lib/algolia/models/search/delete_api_key_response.rb +33 -18
  438. data/lib/algolia/models/search/delete_by_params.rb +50 -26
  439. data/lib/algolia/models/search/delete_source_response.rb +33 -18
  440. data/lib/algolia/models/search/deleted_at_response.rb +34 -19
  441. data/lib/algolia/models/search/dictionary_action.rb +2 -3
  442. data/lib/algolia/models/search/dictionary_entry.rb +29 -18
  443. data/lib/algolia/models/search/dictionary_entry_state.rb +2 -3
  444. data/lib/algolia/models/search/dictionary_language.rb +33 -18
  445. data/lib/algolia/models/search/dictionary_settings_params.rb +33 -18
  446. data/lib/algolia/models/search/dictionary_type.rb +2 -3
  447. data/lib/algolia/models/search/distinct.rb +33 -24
  448. data/lib/algolia/models/search/edit.rb +31 -19
  449. data/lib/algolia/models/search/edit_type.rb +2 -3
  450. data/lib/algolia/models/search/error_base.rb +24 -13
  451. data/lib/algolia/models/search/exact_on_single_word_query.rb +2 -3
  452. data/lib/algolia/models/search/exhaustive.rb +37 -22
  453. data/lib/algolia/models/search/facet_filters.rb +33 -24
  454. data/lib/algolia/models/search/facet_hits.rb +35 -20
  455. data/lib/algolia/models/search/facet_ordering.rb +34 -19
  456. data/lib/algolia/models/search/facets.rb +29 -17
  457. data/lib/algolia/models/search/facets_stats.rb +36 -21
  458. data/lib/algolia/models/search/fetched_index.rb +58 -30
  459. data/lib/algolia/models/search/get_api_key_response.rb +56 -30
  460. data/lib/algolia/models/search/get_dictionary_settings_response.rb +33 -18
  461. data/lib/algolia/models/search/get_logs_response.rb +33 -18
  462. data/lib/algolia/models/search/get_objects_params.rb +33 -18
  463. data/lib/algolia/models/search/get_objects_request.rb +35 -20
  464. data/lib/algolia/models/search/get_objects_response.rb +33 -18
  465. data/lib/algolia/models/search/get_task_response.rb +33 -18
  466. data/lib/algolia/models/search/get_top_user_ids_response.rb +33 -18
  467. data/lib/algolia/models/search/has_pending_mappings_response.rb +34 -19
  468. data/lib/algolia/models/search/highlight_result.rb +34 -25
  469. data/lib/algolia/models/search/highlight_result_option.rb +36 -21
  470. data/lib/algolia/models/search/hit.rb +24 -16
  471. data/lib/algolia/models/search/ignore_plurals.rb +33 -24
  472. data/lib/algolia/models/search/index_settings.rb +171 -97
  473. data/lib/algolia/models/search/index_settings_as_search_params.rb +134 -75
  474. data/lib/algolia/models/search/languages.rb +39 -24
  475. data/lib/algolia/models/search/list_api_keys_response.rb +33 -18
  476. data/lib/algolia/models/search/list_clusters_response.rb +33 -18
  477. data/lib/algolia/models/search/list_indices_response.rb +34 -19
  478. data/lib/algolia/models/search/list_user_ids_response.rb +33 -18
  479. data/lib/algolia/models/search/log.rb +70 -37
  480. data/lib/algolia/models/search/log_query.rb +31 -19
  481. data/lib/algolia/models/search/log_type.rb +2 -3
  482. data/lib/algolia/models/search/match_level.rb +2 -3
  483. data/lib/algolia/models/search/matched_geo_location.rb +35 -20
  484. data/lib/algolia/models/search/mode.rb +2 -3
  485. data/lib/algolia/models/search/multiple_batch_request.rb +35 -20
  486. data/lib/algolia/models/search/multiple_batch_response.rb +34 -19
  487. data/lib/algolia/models/search/numeric_filters.rb +33 -24
  488. data/lib/algolia/models/search/operation_index_params.rb +35 -20
  489. data/lib/algolia/models/search/operation_type.rb +2 -3
  490. data/lib/algolia/models/search/optional_filters.rb +33 -24
  491. data/lib/algolia/models/search/params.rb +32 -20
  492. data/lib/algolia/models/search/personalization.rb +35 -20
  493. data/lib/algolia/models/search/promote.rb +33 -24
  494. data/lib/algolia/models/search/promote_object_id.rb +34 -19
  495. data/lib/algolia/models/search/promote_object_ids.rb +36 -21
  496. data/lib/algolia/models/search/query_type.rb +2 -3
  497. data/lib/algolia/models/search/ranking_info.rb +76 -48
  498. data/lib/algolia/models/search/re_ranking_apply_filter.rb +33 -24
  499. data/lib/algolia/models/search/redirect.rb +29 -17
  500. data/lib/algolia/models/search/redirect_rule_index_metadata.rb +37 -22
  501. data/lib/algolia/models/search/redirect_rule_index_metadata_data.rb +33 -18
  502. data/lib/algolia/models/search/redirect_url.rb +33 -18
  503. data/lib/algolia/models/search/remove_stop_words.rb +33 -24
  504. data/lib/algolia/models/search/remove_user_id_response.rb +33 -18
  505. data/lib/algolia/models/search/remove_words_if_no_results.rb +2 -3
  506. data/lib/algolia/models/search/rendering_content.rb +34 -19
  507. data/lib/algolia/models/search/replace_all_objects_response.rb +35 -20
  508. data/lib/algolia/models/search/replace_source_response.rb +33 -18
  509. data/lib/algolia/models/search/rule.rb +37 -25
  510. data/lib/algolia/models/search/save_object_response.rb +35 -20
  511. data/lib/algolia/models/search/save_synonym_response.rb +35 -20
  512. data/lib/algolia/models/search/scope_type.rb +2 -3
  513. data/lib/algolia/models/search/search_dictionary_entries_params.rb +41 -26
  514. data/lib/algolia/models/search/search_dictionary_entries_response.rb +38 -23
  515. data/lib/algolia/models/search/search_for_facet_values_request.rb +37 -22
  516. data/lib/algolia/models/search/search_for_facet_values_response.rb +35 -20
  517. data/lib/algolia/models/search/search_for_facets.rb +218 -124
  518. data/lib/algolia/models/search/search_for_facets_options.rb +39 -24
  519. data/lib/algolia/models/search/search_for_hits.rb +214 -122
  520. data/lib/algolia/models/search/search_for_hits_options.rb +34 -19
  521. data/lib/algolia/models/search/search_hits.rb +26 -15
  522. data/lib/algolia/models/search/search_method_params.rb +34 -19
  523. data/lib/algolia/models/search/search_pagination.rb +282 -0
  524. data/lib/algolia/models/search/search_params.rb +33 -24
  525. data/lib/algolia/models/search/search_params_object.rb +208 -119
  526. data/lib/algolia/models/search/search_params_query.rb +33 -18
  527. data/lib/algolia/models/search/search_params_string.rb +33 -18
  528. data/lib/algolia/models/search/search_query.rb +33 -24
  529. data/lib/algolia/models/search/search_response.rb +154 -111
  530. data/lib/algolia/models/search/search_responses.rb +33 -18
  531. data/lib/algolia/models/search/search_result.rb +33 -24
  532. data/lib/algolia/models/search/search_rules_params.rb +45 -30
  533. data/lib/algolia/models/search/search_rules_response.rb +36 -21
  534. data/lib/algolia/models/search/search_strategy.rb +2 -3
  535. data/lib/algolia/models/search/search_synonyms_params.rb +41 -26
  536. data/lib/algolia/models/search/search_synonyms_response.rb +25 -14
  537. data/lib/algolia/models/search/search_type_default.rb +2 -3
  538. data/lib/algolia/models/search/search_type_facet.rb +2 -3
  539. data/lib/algolia/models/search/search_user_ids_params.rb +41 -26
  540. data/lib/algolia/models/search/search_user_ids_response.rb +42 -27
  541. data/lib/algolia/models/search/secured_api_key_restrictions.rb +38 -23
  542. data/lib/algolia/models/search/semantic_search.rb +35 -20
  543. data/lib/algolia/models/search/snippet_result.rb +34 -25
  544. data/lib/algolia/models/search/snippet_result_option.rb +34 -19
  545. data/lib/algolia/models/search/sort_remaining_by.rb +2 -3
  546. data/lib/algolia/models/search/source.rb +30 -18
  547. data/lib/algolia/models/search/standard_entries.rb +39 -24
  548. data/lib/algolia/models/search/supported_language.rb +72 -5
  549. data/lib/algolia/models/search/synonym_hit.rb +40 -25
  550. data/lib/algolia/models/search/synonym_type.rb +2 -3
  551. data/lib/algolia/models/search/tag_filters.rb +33 -24
  552. data/lib/algolia/models/search/task_status.rb +2 -3
  553. data/lib/algolia/models/search/time_range.rb +34 -19
  554. data/lib/algolia/models/search/typo_tolerance.rb +33 -24
  555. data/lib/algolia/models/search/typo_tolerance_enum.rb +2 -3
  556. data/lib/algolia/models/search/update_api_key_response.rb +34 -19
  557. data/lib/algolia/models/search/updated_at_response.rb +34 -19
  558. data/lib/algolia/models/search/updated_at_with_object_id_response.rb +35 -20
  559. data/lib/algolia/models/search/updated_rule_response.rb +35 -20
  560. data/lib/algolia/models/search/user_highlight_result.rb +34 -19
  561. data/lib/algolia/models/search/user_hit.rb +35 -23
  562. data/lib/algolia/models/search/user_id.rb +33 -21
  563. data/lib/algolia/models/search/value.rb +31 -19
  564. data/lib/algolia/models/usage/error_base.rb +24 -13
  565. data/lib/algolia/models/usage/get_usage200_response.rb +33 -18
  566. data/lib/algolia/models/usage/get_usage200_response_statistics_inner.rb +34 -19
  567. data/lib/algolia/models/usage/get_usage400_response.rb +33 -18
  568. data/lib/algolia/models/usage/get_usage400_response_error.rb +35 -20
  569. data/lib/algolia/models/usage/get_usage400_response_error_errors_inner.rb +36 -21
  570. data/lib/algolia/models/usage/granularity.rb +2 -3
  571. data/lib/algolia/models/usage/statistic.rb +88 -5
  572. data/lib/algolia/models/usage/statistic_value.rb +33 -24
  573. data/lib/algolia/transport/call_type.rb +1 -1
  574. data/lib/algolia/transport/echo_requester.rb +11 -2
  575. data/lib/algolia/transport/http/http_requester.rb +23 -15
  576. data/lib/algolia/transport/http/response.rb +8 -8
  577. data/lib/algolia/transport/request_options.rb +6 -4
  578. data/lib/algolia/transport/retry_outcome_type.rb +3 -3
  579. data/lib/algolia/transport/retry_strategy.rb +8 -7
  580. data/lib/algolia/transport/stateful_host.rb +6 -6
  581. data/lib/algolia/transport/transport.rb +27 -20
  582. data/lib/algolia/user_agent.rb +1 -1
  583. data/lib/algolia/version.rb +1 -1
  584. data/lib/algolia.rb +16 -16
  585. metadata +20 -13
  586. data/.rubocop.yml +0 -99
@@ -1,7 +1,7 @@
1
1
  # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
- require 'date'
4
- require 'time'
3
+ require "date"
4
+ require "time"
5
5
 
6
6
  module Algolia
7
7
  module Search
@@ -58,34 +58,42 @@ module Algolia
58
58
  # Attribute type mapping.
59
59
  def self.types_mapping
60
60
  {
61
- :value => :String,
62
- :match_level => :MatchLevel,
63
- :matched_words => :'Array<String>',
64
- :fully_highlighted => :Boolean
61
+ :value => :"String",
62
+ :match_level => :"MatchLevel",
63
+ :matched_words => :"Array<String>",
64
+ :fully_highlighted => :"Boolean"
65
65
  }
66
66
  end
67
67
 
68
68
  # List of attributes with nullable: true
69
69
  def self.openapi_nullable
70
- Set.new([])
70
+ Set.new(
71
+ []
72
+ )
71
73
  end
72
74
 
73
75
  # Initializes the object
74
76
  # @param [Hash] attributes Model attributes in the form of hash
75
77
  def initialize(attributes = {})
76
- unless attributes.is_a?(Hash)
77
- raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::HighlightResultOption` initialize method"
78
+ if (!attributes.is_a?(Hash))
79
+ raise(
80
+ ArgumentError,
81
+ "The input argument (attributes) must be a hash in `Algolia::HighlightResultOption` initialize method"
82
+ )
78
83
  end
79
84
 
80
85
  # check to see if the attribute exists and convert string to symbol for hash key
81
- attributes = attributes.each_with_object({}) do |(k, v), h|
82
- unless self.class.attribute_map.key?(k.to_sym)
83
- raise ArgumentError,
84
- "`#{k}` is not a valid attribute in `Algolia::HighlightResultOption`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!self.class.attribute_map.key?(k.to_sym))
88
+ raise(
89
+ ArgumentError,
90
+ "`#{k}` is not a valid attribute in `Algolia::HighlightResultOption`. Please check the name to make sure it's valid. List of attributes: " +
91
+ self.class.attribute_map.keys.inspect
92
+ )
85
93
  end
86
94
 
87
95
  h[k.to_sym] = v
88
- end
96
+ }
89
97
 
90
98
  if attributes.key?(:value)
91
99
  self.value = attributes[:value]
@@ -115,8 +123,7 @@ module Algolia
115
123
  # Checks equality by comparing each attribute.
116
124
  # @param [Object] Object to be compared
117
125
  def ==(other)
118
- return true if equal?(other)
119
-
126
+ return true if self.equal?(other)
120
127
  self.class == other.class &&
121
128
  value == other.value &&
122
129
  match_level == other.match_level &&
@@ -141,7 +148,6 @@ module Algolia
141
148
  # @return [Object] Returns the model itself
142
149
  def self.build_from_hash(attributes)
143
150
  return nil unless attributes.is_a?(Hash)
144
-
145
151
  attributes = attributes.transform_keys(&:to_sym)
146
152
  transformed_hash = {}
147
153
  types_mapping.each_pair do |key, type|
@@ -151,12 +157,15 @@ module Algolia
151
157
  # check to ensure the input is an array given that the attribute
152
158
  # is documented as an array but the input is not
153
159
  if attributes[attribute_map[key]].is_a?(Array)
154
- transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
160
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
161
+ _deserialize(::Regexp.last_match(1), v)
162
+ }
155
163
  end
156
164
  elsif !attributes[attribute_map[key]].nil?
157
165
  transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
158
166
  end
159
167
  end
168
+
160
169
  new(transformed_hash)
161
170
  end
162
171
 
@@ -182,6 +191,7 @@ module Algolia
182
191
  else
183
192
  false
184
193
  end
194
+
185
195
  when :Object
186
196
  # generic object (usually a Hash), return directly
187
197
  value
@@ -196,10 +206,12 @@ module Algolia
196
206
  hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
197
207
  end
198
208
  end
199
- else # model
209
+ # model
210
+ else
200
211
  # models (e.g. Pet) or oneOf
201
212
  klass = Algolia::Search.const_get(type)
202
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
213
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
214
+ .build_from_hash(value)
203
215
  end
204
216
  end
205
217
 
@@ -232,6 +244,7 @@ module Algolia
232
244
 
233
245
  hash[param] = _to_hash(value)
234
246
  end
247
+
235
248
  hash
236
249
  end
237
250
 
@@ -246,12 +259,14 @@ module Algolia
246
259
  {}.tap do |hash|
247
260
  value.each { |k, v| hash[k] = _to_hash(v) }
248
261
  end
249
- elsif value.respond_to? :to_hash
262
+ elsif value.respond_to?(:to_hash)
250
263
  value.to_hash
251
264
  else
252
265
  value
253
266
  end
254
267
  end
268
+
255
269
  end
270
+
256
271
  end
257
272
  end
@@ -1,7 +1,7 @@
1
1
  # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
- require 'date'
4
- require 'time'
3
+ require "date"
4
+ require "time"
5
5
 
6
6
  module Algolia
7
7
  module Search
@@ -41,23 +41,25 @@ module Algolia
41
41
  # Attribute type mapping.
42
42
  def self.types_mapping
43
43
  {
44
- :object_id => :String,
45
- :_highlight_result => :'Hash<String, HighlightResult>',
46
- :_snippet_result => :'Hash<String, SnippetResult>',
47
- :_ranking_info => :RankingInfo,
48
- :_distinct_seq_id => :Integer
44
+ :object_id => :"String",
45
+ :_highlight_result => :"Hash<String, HighlightResult>",
46
+ :_snippet_result => :"Hash<String, SnippetResult>",
47
+ :_ranking_info => :"RankingInfo",
48
+ :_distinct_seq_id => :"Integer"
49
49
  }
50
50
  end
51
51
 
52
52
  # List of attributes with nullable: true
53
53
  def self.openapi_nullable
54
- Set.new([])
54
+ Set.new(
55
+ []
56
+ )
55
57
  end
56
58
 
57
59
  # Initializes the object
58
60
  # @param [Hash] attributes Model attributes in the form of hash
59
61
  def initialize(attributes = {})
60
- unless attributes.is_a?(Hash)
62
+ if (!attributes.is_a?(Hash))
61
63
  raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Hit` initialize method"
62
64
  end
63
65
 
@@ -95,8 +97,7 @@ module Algolia
95
97
  # Checks equality by comparing each attribute.
96
98
  # @param [Object] Object to be compared
97
99
  def ==(other)
98
- return true if equal?(other)
99
-
100
+ return true if self.equal?(other)
100
101
  self.class == other.class &&
101
102
  object_id == other.object_id &&
102
103
  _highlight_result == other._highlight_result &&
@@ -122,7 +123,6 @@ module Algolia
122
123
  # @return [Object] Returns the model itself
123
124
  def self.build_from_hash(attributes)
124
125
  return nil unless attributes.is_a?(Hash)
125
-
126
126
  attributes = attributes.transform_keys(&:to_sym)
127
127
  transformed_hash = {}
128
128
  types_mapping.each_pair do |key, type|
@@ -132,7 +132,9 @@ module Algolia
132
132
  # check to ensure the input is an array given that the attribute
133
133
  # is documented as an array but the input is not
134
134
  if attributes[attribute_map[key]].is_a?(Array)
135
- transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
135
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
136
+ _deserialize(::Regexp.last_match(1), v)
137
+ }
136
138
  end
137
139
  elsif !attributes[attribute_map[key]].nil?
138
140
  transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
@@ -166,6 +168,7 @@ module Algolia
166
168
  else
167
169
  false
168
170
  end
171
+
169
172
  when :Object
170
173
  # generic object (usually a Hash), return directly
171
174
  value
@@ -180,10 +183,12 @@ module Algolia
180
183
  hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
181
184
  end
182
185
  end
183
- else # model
186
+ # model
187
+ else
184
188
  # models (e.g. Pet) or oneOf
185
189
  klass = Algolia::Search.const_get(type)
186
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
191
+ .build_from_hash(value)
187
192
  end
188
193
  end
189
194
 
@@ -221,6 +226,7 @@ module Algolia
221
226
  self.additional_properties&.each_pair do |k, v|
222
227
  hash[k.to_sym] = _to_hash(v)
223
228
  end
229
+
224
230
  hash
225
231
  end
226
232
 
@@ -235,12 +241,14 @@ module Algolia
235
241
  {}.tap do |hash|
236
242
  value.each { |k, v| hash[k] = _to_hash(v) }
237
243
  end
238
- elsif value.respond_to? :to_hash
244
+ elsif value.respond_to?(:to_hash)
239
245
  value.to_hash
240
246
  else
241
247
  value
242
248
  end
243
249
  end
250
+
244
251
  end
252
+
245
253
  end
246
254
  end
@@ -1,18 +1,18 @@
1
1
  # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
- require 'date'
4
- require 'time'
3
+ require "date"
4
+ require "time"
5
5
 
6
6
  module Algolia
7
7
  module Search
8
8
  # Treat singular, plurals, and other forms of declensions as equivalent. You should only use this feature for the languages used in your index.
9
9
  module IgnorePlurals
10
10
  class << self
11
- # List of class defined in oneOf (OpenAPI v3)
11
+ # List of class defined in oneOf (OpenAPI v3)
12
12
  def openapi_one_of
13
13
  [
14
- :'Array<SupportedLanguage>',
15
- :Boolean
14
+ :"Array<SupportedLanguage>",
15
+ :"Boolean"
16
16
  ]
17
17
  end
18
18
 
@@ -28,11 +28,14 @@ module Algolia
28
28
  # - TODO: scalar values are de facto behaving as if they were nullable.
29
29
  # - TODO: logging when debugging is set.
30
30
  openapi_one_of.each do |klass|
31
- next if klass == :AnyType # "nullable: true"
32
-
33
- typed_data = find_and_cast_into_type(klass, data)
34
- return typed_data if typed_data
35
- rescue # rescue all errors so we keep iterating even if the current item lookup raises
31
+ begin
32
+ # "nullable: true"
33
+ next if klass == :AnyType
34
+ typed_data = find_and_cast_into_type(klass, data)
35
+ return typed_data if typed_data
36
+ # rescue all errors so we keep iterating even if the current item lookup raises
37
+ rescue
38
+ end
36
39
  end
37
40
 
38
41
  openapi_one_of.include?(:AnyType) ? data : nil
@@ -42,44 +45,48 @@ module Algolia
42
45
 
43
46
  SchemaMismatchError = Class.new(StandardError)
44
47
 
45
- # NOTE: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
48
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
46
49
  def find_and_cast_into_type(klass, data)
47
50
  return if data.nil?
48
51
 
49
52
  case klass.to_s
50
- when 'Boolean'
53
+ when "Boolean"
51
54
  return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
52
- when 'Float'
55
+ when "Float"
53
56
  return data if data.instance_of?(Float)
54
- when 'Integer'
57
+ when "Integer"
55
58
  return data if data.instance_of?(Integer)
56
- when 'Time'
59
+ when "Time"
57
60
  return Time.parse(data)
58
- when 'Date'
61
+ when "Date"
59
62
  return Date.parse(data)
60
- when 'String'
63
+ when "String"
61
64
  return data if data.instance_of?(String)
62
- when 'Object' # "type: object"
65
+ # "type: object"
66
+ when "Object"
63
67
  return data if data.instance_of?(Hash)
64
- when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
68
+ # "type: array"
69
+ when /\AArray<(?<sub_type>.+)>\z/
65
70
  if data.instance_of?(Array)
66
71
  sub_type = Regexp.last_match[:sub_type]
67
72
  return data.map { |item| find_and_cast_into_type(sub_type, item) }
68
73
  end
69
- when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
74
+ # "type: object" with "additionalProperties: { ... }"
75
+ when /\AHash<String, (?<sub_type>.+)>\z/
70
76
  if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
71
77
  sub_type = Regexp.last_match[:sub_type]
72
78
  return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
73
79
  end
74
- else # model
80
+ # model
81
+ else
75
82
  const = Algolia::Search.const_get(klass)
76
83
  if const
77
- if const.respond_to?(:openapi_one_of) # nested oneOf model
84
+ # nested oneOf model
85
+ if const.respond_to?(:openapi_one_of)
78
86
  model = const.build(data)
79
87
  else
80
88
  # raise if data contains keys that are not known to the model
81
89
  raise unless (data.keys - const.acceptable_attributes).empty?
82
-
83
90
  model = const.build_from_hash(data)
84
91
  end
85
92
 
@@ -87,11 +94,13 @@ module Algolia
87
94
  end
88
95
  end
89
96
 
90
- raise # if no match by now, raise
97
+ # if no match by now, raise
98
+ raise
91
99
  rescue
92
100
  raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
93
101
  end
94
102
  end
95
103
  end
104
+
96
105
  end
97
106
  end