algolia 3.0.0.beta.7 → 3.0.0.beta.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (586) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +2 -0
  3. data/CHANGELOG.md +12 -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 +30 -18
  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/{ingestion/schedule_date_utils_input.rb → recommend/redirect_url.rb} +43 -58
  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 +45 -21
  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/search/browse_pagination.rb +274 -0
  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 +30 -18
  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 +212 -0
  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 +45 -21
  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 +22 -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
@@ -39,35 +39,43 @@ module Algolia
39
39
  # Attribute type mapping.
40
40
  def self.types_mapping
41
41
  {
42
- :source => :String,
43
- :dest => :String,
44
- :reason => :String,
45
- :succeed => :Boolean,
46
- :data => :RedirectRuleIndexMetadataData
42
+ :source => :"String",
43
+ :dest => :"String",
44
+ :reason => :"String",
45
+ :succeed => :"Boolean",
46
+ :data => :"RedirectRuleIndexMetadataData"
47
47
  }
48
48
  end
49
49
 
50
50
  # List of attributes with nullable: true
51
51
  def self.openapi_nullable
52
- Set.new([])
52
+ Set.new(
53
+ []
54
+ )
53
55
  end
54
56
 
55
57
  # Initializes the object
56
58
  # @param [Hash] attributes Model attributes in the form of hash
57
59
  def initialize(attributes = {})
58
- unless attributes.is_a?(Hash)
59
- raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::RedirectRuleIndexMetadata` initialize method"
60
+ if (!attributes.is_a?(Hash))
61
+ raise(
62
+ ArgumentError,
63
+ "The input argument (attributes) must be a hash in `Algolia::RedirectRuleIndexMetadata` initialize method"
64
+ )
60
65
  end
61
66
 
62
67
  # check to see if the attribute exists and convert string to symbol for hash key
63
- attributes = attributes.each_with_object({}) do |(k, v), h|
64
- unless self.class.attribute_map.key?(k.to_sym)
65
- raise ArgumentError,
66
- "`#{k}` is not a valid attribute in `Algolia::RedirectRuleIndexMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ attributes = attributes.each_with_object({}) { |(k, v), h|
69
+ if (!self.class.attribute_map.key?(k.to_sym))
70
+ raise(
71
+ ArgumentError,
72
+ "`#{k}` is not a valid attribute in `Algolia::RedirectRuleIndexMetadata`. Please check the name to make sure it's valid. List of attributes: " +
73
+ self.class.attribute_map.keys.inspect
74
+ )
67
75
  end
68
76
 
69
77
  h[k.to_sym] = v
70
- end
78
+ }
71
79
 
72
80
  if attributes.key?(:source)
73
81
  self.source = attributes[:source]
@@ -103,8 +111,7 @@ module Algolia
103
111
  # Checks equality by comparing each attribute.
104
112
  # @param [Object] Object to be compared
105
113
  def ==(other)
106
- return true if equal?(other)
107
-
114
+ return true if self.equal?(other)
108
115
  self.class == other.class &&
109
116
  source == other.source &&
110
117
  dest == other.dest &&
@@ -130,7 +137,6 @@ module Algolia
130
137
  # @return [Object] Returns the model itself
131
138
  def self.build_from_hash(attributes)
132
139
  return nil unless attributes.is_a?(Hash)
133
-
134
140
  attributes = attributes.transform_keys(&:to_sym)
135
141
  transformed_hash = {}
136
142
  types_mapping.each_pair do |key, type|
@@ -140,12 +146,15 @@ module Algolia
140
146
  # check to ensure the input is an array given that the attribute
141
147
  # is documented as an array but the input is not
142
148
  if attributes[attribute_map[key]].is_a?(Array)
143
- transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
149
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
150
+ _deserialize(::Regexp.last_match(1), v)
151
+ }
144
152
  end
145
153
  elsif !attributes[attribute_map[key]].nil?
146
154
  transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
147
155
  end
148
156
  end
157
+
149
158
  new(transformed_hash)
150
159
  end
151
160
 
@@ -171,6 +180,7 @@ module Algolia
171
180
  else
172
181
  false
173
182
  end
183
+
174
184
  when :Object
175
185
  # generic object (usually a Hash), return directly
176
186
  value
@@ -185,10 +195,12 @@ module Algolia
185
195
  hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
186
196
  end
187
197
  end
188
- else # model
198
+ # model
199
+ else
189
200
  # models (e.g. Pet) or oneOf
190
201
  klass = Algolia::Search.const_get(type)
191
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
202
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
203
+ .build_from_hash(value)
192
204
  end
193
205
  end
194
206
 
@@ -221,6 +233,7 @@ module Algolia
221
233
 
222
234
  hash[param] = _to_hash(value)
223
235
  end
236
+
224
237
  hash
225
238
  end
226
239
 
@@ -235,12 +248,14 @@ module Algolia
235
248
  {}.tap do |hash|
236
249
  value.each { |k, v| hash[k] = _to_hash(v) }
237
250
  end
238
- elsif value.respond_to? :to_hash
251
+ elsif value.respond_to?(:to_hash)
239
252
  value.to_hash
240
253
  else
241
254
  value
242
255
  end
243
256
  end
257
+
244
258
  end
259
+
245
260
  end
246
261
  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
@@ -24,31 +24,39 @@ module Algolia
24
24
  # Attribute type mapping.
25
25
  def self.types_mapping
26
26
  {
27
- :rule_object_id => :String
27
+ :rule_object_id => :"String"
28
28
  }
29
29
  end
30
30
 
31
31
  # List of attributes with nullable: true
32
32
  def self.openapi_nullable
33
- Set.new([])
33
+ Set.new(
34
+ []
35
+ )
34
36
  end
35
37
 
36
38
  # Initializes the object
37
39
  # @param [Hash] attributes Model attributes in the form of hash
38
40
  def initialize(attributes = {})
39
- unless attributes.is_a?(Hash)
40
- raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::RedirectRuleIndexMetadataData` initialize method"
41
+ if (!attributes.is_a?(Hash))
42
+ raise(
43
+ ArgumentError,
44
+ "The input argument (attributes) must be a hash in `Algolia::RedirectRuleIndexMetadataData` initialize method"
45
+ )
41
46
  end
42
47
 
43
48
  # check to see if the attribute exists and convert string to symbol for hash key
44
- attributes = attributes.each_with_object({}) do |(k, v), h|
45
- unless self.class.attribute_map.key?(k.to_sym)
46
- raise ArgumentError,
47
- "`#{k}` is not a valid attribute in `Algolia::RedirectRuleIndexMetadataData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
+ attributes = attributes.each_with_object({}) { |(k, v), h|
50
+ if (!self.class.attribute_map.key?(k.to_sym))
51
+ raise(
52
+ ArgumentError,
53
+ "`#{k}` is not a valid attribute in `Algolia::RedirectRuleIndexMetadataData`. Please check the name to make sure it's valid. List of attributes: " +
54
+ self.class.attribute_map.keys.inspect
55
+ )
48
56
  end
49
57
 
50
58
  h[k.to_sym] = v
51
- end
59
+ }
52
60
 
53
61
  if attributes.key?(:rule_object_id)
54
62
  self.rule_object_id = attributes[:rule_object_id]
@@ -60,8 +68,7 @@ module Algolia
60
68
  # Checks equality by comparing each attribute.
61
69
  # @param [Object] Object to be compared
62
70
  def ==(other)
63
- return true if equal?(other)
64
-
71
+ return true if self.equal?(other)
65
72
  self.class == other.class &&
66
73
  rule_object_id == other.rule_object_id
67
74
  end
@@ -83,7 +90,6 @@ module Algolia
83
90
  # @return [Object] Returns the model itself
84
91
  def self.build_from_hash(attributes)
85
92
  return nil unless attributes.is_a?(Hash)
86
-
87
93
  attributes = attributes.transform_keys(&:to_sym)
88
94
  transformed_hash = {}
89
95
  types_mapping.each_pair do |key, type|
@@ -93,12 +99,15 @@ module Algolia
93
99
  # check to ensure the input is an array given that the attribute
94
100
  # is documented as an array but the input is not
95
101
  if attributes[attribute_map[key]].is_a?(Array)
96
- transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
102
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
103
+ _deserialize(::Regexp.last_match(1), v)
104
+ }
97
105
  end
98
106
  elsif !attributes[attribute_map[key]].nil?
99
107
  transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
100
108
  end
101
109
  end
110
+
102
111
  new(transformed_hash)
103
112
  end
104
113
 
@@ -124,6 +133,7 @@ module Algolia
124
133
  else
125
134
  false
126
135
  end
136
+
127
137
  when :Object
128
138
  # generic object (usually a Hash), return directly
129
139
  value
@@ -138,10 +148,12 @@ module Algolia
138
148
  hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
139
149
  end
140
150
  end
141
- else # model
151
+ # model
152
+ else
142
153
  # models (e.g. Pet) or oneOf
143
154
  klass = Algolia::Search.const_get(type)
144
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
155
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
156
+ .build_from_hash(value)
145
157
  end
146
158
  end
147
159
 
@@ -174,6 +186,7 @@ module Algolia
174
186
 
175
187
  hash[param] = _to_hash(value)
176
188
  end
189
+
177
190
  hash
178
191
  end
179
192
 
@@ -188,12 +201,14 @@ module Algolia
188
201
  {}.tap do |hash|
189
202
  value.each { |k, v| hash[k] = _to_hash(v) }
190
203
  end
191
- elsif value.respond_to? :to_hash
204
+ elsif value.respond_to?(:to_hash)
192
205
  value.to_hash
193
206
  else
194
207
  value
195
208
  end
196
209
  end
210
+
197
211
  end
212
+
198
213
  end
199
214
  end
@@ -0,0 +1,212 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require "date"
4
+ require "time"
5
+
6
+ module Algolia
7
+ module Search
8
+ # The redirect rule container.
9
+ class RedirectURL
10
+ attr_accessor :url
11
+
12
+ # Attribute mapping from ruby-style variable name to JSON key.
13
+ def self.attribute_map
14
+ {
15
+ :url => :url
16
+ }
17
+ end
18
+
19
+ # Returns all the JSON keys this model knows about
20
+ def self.acceptable_attributes
21
+ attribute_map.values
22
+ end
23
+
24
+ # Attribute type mapping.
25
+ def self.types_mapping
26
+ {
27
+ :url => :"String"
28
+ }
29
+ end
30
+
31
+ # List of attributes with nullable: true
32
+ def self.openapi_nullable
33
+ Set.new(
34
+ []
35
+ )
36
+ end
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ def initialize(attributes = {})
41
+ if (!attributes.is_a?(Hash))
42
+ raise(
43
+ ArgumentError,
44
+ "The input argument (attributes) must be a hash in `Algolia::RedirectURL` initialize method"
45
+ )
46
+ end
47
+
48
+ # check to see if the attribute exists and convert string to symbol for hash key
49
+ attributes = attributes.each_with_object({}) { |(k, v), h|
50
+ if (!self.class.attribute_map.key?(k.to_sym))
51
+ raise(
52
+ ArgumentError,
53
+ "`#{k}` is not a valid attribute in `Algolia::RedirectURL`. Please check the name to make sure it's valid. List of attributes: " +
54
+ self.class.attribute_map.keys.inspect
55
+ )
56
+ end
57
+
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:url)
62
+ self.url = attributes[:url]
63
+ end
64
+ end
65
+
66
+ # Checks equality by comparing each attribute.
67
+ # @param [Object] Object to be compared
68
+ def ==(other)
69
+ return true if self.equal?(other)
70
+ self.class == other.class &&
71
+ url == other.url
72
+ end
73
+
74
+ # @see the `==` method
75
+ # @param [Object] Object to be compared
76
+ def eql?(other)
77
+ self == other
78
+ end
79
+
80
+ # Calculates hash code according to all attributes.
81
+ # @return [Integer] Hash code
82
+ def hash
83
+ [url].hash
84
+ end
85
+
86
+ # Builds the object from hash
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ # @return [Object] Returns the model itself
89
+ def self.build_from_hash(attributes)
90
+ return nil unless attributes.is_a?(Hash)
91
+ attributes = attributes.transform_keys(&:to_sym)
92
+ transformed_hash = {}
93
+ types_mapping.each_pair do |key, type|
94
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
95
+ transformed_hash[key.to_sym] = nil
96
+ elsif type =~ /\AArray<(.*)>/i
97
+ # check to ensure the input is an array given that the attribute
98
+ # is documented as an array but the input is not
99
+ if attributes[attribute_map[key]].is_a?(Array)
100
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
101
+ _deserialize(::Regexp.last_match(1), v)
102
+ }
103
+ end
104
+ elsif !attributes[attribute_map[key]].nil?
105
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
106
+ end
107
+ end
108
+
109
+ new(transformed_hash)
110
+ end
111
+
112
+ # Deserializes the data based on type
113
+ # @param string type Data type
114
+ # @param string value Value to be deserialized
115
+ # @return [Object] Deserialized data
116
+ def self._deserialize(type, value)
117
+ case type.to_sym
118
+ when :Time
119
+ Time.parse(value)
120
+ when :Date
121
+ Date.parse(value)
122
+ when :String
123
+ value.to_s
124
+ when :Integer
125
+ value.to_i
126
+ when :Float
127
+ value.to_f
128
+ when :Boolean
129
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
130
+ true
131
+ else
132
+ false
133
+ end
134
+
135
+ when :Object
136
+ # generic object (usually a Hash), return directly
137
+ value
138
+ when /\AArray<(?<inner_type>.+)>\z/
139
+ inner_type = Regexp.last_match[:inner_type]
140
+ value.map { |v| _deserialize(inner_type, v) }
141
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
142
+ k_type = Regexp.last_match[:k_type]
143
+ v_type = Regexp.last_match[:v_type]
144
+ {}.tap do |hash|
145
+ value.each do |k, v|
146
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
147
+ end
148
+ end
149
+ # model
150
+ else
151
+ # models (e.g. Pet) or oneOf
152
+ klass = Algolia::Search.const_get(type)
153
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
154
+ .build_from_hash(value)
155
+ end
156
+ end
157
+
158
+ # Returns the string representation of the object
159
+ # @return [String] String presentation of the object
160
+ def to_s
161
+ to_hash.to_s
162
+ end
163
+
164
+ # to_body is an alias to to_hash (backward compatibility)
165
+ # @return [Hash] Returns the object in the form of hash
166
+ def to_body
167
+ to_hash
168
+ end
169
+
170
+ def to_json(*_args)
171
+ to_hash.to_json
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
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
@@ -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
  # Removes stop words from the search query. Stop words are common words like articles, conjunctions, prepositions, or pronouns that have little or no meaning on their own. In English, \"the\", \"a\", or \"and\" are stop words. You should only use this feature for the languages used in your index.
9
9
  module RemoveStopWords
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