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
@@ -334,119 +334,125 @@ module Algolia
334
334
  # Attribute type mapping.
335
335
  def self.types_mapping
336
336
  {
337
- :similar_query => :String,
338
- :filters => :String,
339
- :facet_filters => :FacetFilters,
340
- :optional_filters => :OptionalFilters,
341
- :numeric_filters => :NumericFilters,
342
- :tag_filters => :TagFilters,
343
- :sum_or_filters_scores => :Boolean,
344
- :restrict_searchable_attributes => :'Array<String>',
345
- :facets => :'Array<String>',
346
- :faceting_after_distinct => :Boolean,
347
- :page => :Integer,
348
- :offset => :Integer,
349
- :length => :Integer,
350
- :around_lat_lng => :String,
351
- :around_lat_lng_via_ip => :Boolean,
352
- :around_radius => :AroundRadius,
353
- :around_precision => :AroundPrecision,
354
- :minimum_around_radius => :Integer,
355
- :inside_bounding_box => :'Array<Array<Float>>',
356
- :inside_polygon => :'Array<Array<Float>>',
357
- :natural_languages => :'Array<SupportedLanguage>',
358
- :rule_contexts => :'Array<String>',
359
- :personalization_impact => :Integer,
360
- :user_token => :String,
361
- :get_ranking_info => :Boolean,
362
- :synonyms => :Boolean,
363
- :click_analytics => :Boolean,
364
- :analytics => :Boolean,
365
- :analytics_tags => :'Array<String>',
366
- :percentile_computation => :Boolean,
367
- :enable_ab_test => :Boolean,
368
- :attributes_to_retrieve => :'Array<String>',
369
- :ranking => :'Array<String>',
370
- :custom_ranking => :'Array<String>',
371
- :relevancy_strictness => :Integer,
372
- :attributes_to_highlight => :'Array<String>',
373
- :attributes_to_snippet => :'Array<String>',
374
- :highlight_pre_tag => :String,
375
- :highlight_post_tag => :String,
376
- :snippet_ellipsis_text => :String,
377
- :restrict_highlight_and_snippet_arrays => :Boolean,
378
- :hits_per_page => :Integer,
379
- :min_word_sizefor1_typo => :Integer,
380
- :min_word_sizefor2_typos => :Integer,
381
- :typo_tolerance => :TypoTolerance,
382
- :allow_typos_on_numeric_tokens => :Boolean,
383
- :disable_typo_tolerance_on_attributes => :'Array<String>',
384
- :ignore_plurals => :IgnorePlurals,
385
- :remove_stop_words => :RemoveStopWords,
386
- :keep_diacritics_on_characters => :String,
387
- :query_languages => :'Array<SupportedLanguage>',
388
- :decompound_query => :Boolean,
389
- :enable_rules => :Boolean,
390
- :enable_personalization => :Boolean,
391
- :query_type => :QueryType,
392
- :remove_words_if_no_results => :RemoveWordsIfNoResults,
393
- :mode => :Mode,
394
- :semantic_search => :SemanticSearch,
395
- :advanced_syntax => :Boolean,
396
- :optional_words => :'Array<String>',
397
- :disable_exact_on_attributes => :'Array<String>',
398
- :exact_on_single_word_query => :ExactOnSingleWordQuery,
399
- :alternatives_as_exact => :'Array<AlternativesAsExact>',
400
- :advanced_syntax_features => :'Array<AdvancedSyntaxFeatures>',
401
- :distinct => :Distinct,
402
- :replace_synonyms_in_highlight => :Boolean,
403
- :min_proximity => :Integer,
404
- :response_fields => :'Array<String>',
405
- :max_facet_hits => :Integer,
406
- :max_values_per_facet => :Integer,
407
- :sort_facet_values_by => :String,
408
- :attribute_criteria_computed_by_min_proximity => :Boolean,
409
- :rendering_content => :RenderingContent,
410
- :enable_re_ranking => :Boolean,
411
- :re_ranking_apply_filter => :ReRankingApplyFilter,
412
- :query => :ConsequenceQuery,
413
- :automatic_facet_filters => :AutomaticFacetFilters,
414
- :automatic_optional_facet_filters => :AutomaticFacetFilters
337
+ :similar_query => :"String",
338
+ :filters => :"String",
339
+ :facet_filters => :"FacetFilters",
340
+ :optional_filters => :"OptionalFilters",
341
+ :numeric_filters => :"NumericFilters",
342
+ :tag_filters => :"TagFilters",
343
+ :sum_or_filters_scores => :"Boolean",
344
+ :restrict_searchable_attributes => :"Array<String>",
345
+ :facets => :"Array<String>",
346
+ :faceting_after_distinct => :"Boolean",
347
+ :page => :"Integer",
348
+ :offset => :"Integer",
349
+ :length => :"Integer",
350
+ :around_lat_lng => :"String",
351
+ :around_lat_lng_via_ip => :"Boolean",
352
+ :around_radius => :"AroundRadius",
353
+ :around_precision => :"AroundPrecision",
354
+ :minimum_around_radius => :"Integer",
355
+ :inside_bounding_box => :"Array<Array<Float>>",
356
+ :inside_polygon => :"Array<Array<Float>>",
357
+ :natural_languages => :"Array<SupportedLanguage>",
358
+ :rule_contexts => :"Array<String>",
359
+ :personalization_impact => :"Integer",
360
+ :user_token => :"String",
361
+ :get_ranking_info => :"Boolean",
362
+ :synonyms => :"Boolean",
363
+ :click_analytics => :"Boolean",
364
+ :analytics => :"Boolean",
365
+ :analytics_tags => :"Array<String>",
366
+ :percentile_computation => :"Boolean",
367
+ :enable_ab_test => :"Boolean",
368
+ :attributes_to_retrieve => :"Array<String>",
369
+ :ranking => :"Array<String>",
370
+ :custom_ranking => :"Array<String>",
371
+ :relevancy_strictness => :"Integer",
372
+ :attributes_to_highlight => :"Array<String>",
373
+ :attributes_to_snippet => :"Array<String>",
374
+ :highlight_pre_tag => :"String",
375
+ :highlight_post_tag => :"String",
376
+ :snippet_ellipsis_text => :"String",
377
+ :restrict_highlight_and_snippet_arrays => :"Boolean",
378
+ :hits_per_page => :"Integer",
379
+ :min_word_sizefor1_typo => :"Integer",
380
+ :min_word_sizefor2_typos => :"Integer",
381
+ :typo_tolerance => :"TypoTolerance",
382
+ :allow_typos_on_numeric_tokens => :"Boolean",
383
+ :disable_typo_tolerance_on_attributes => :"Array<String>",
384
+ :ignore_plurals => :"IgnorePlurals",
385
+ :remove_stop_words => :"RemoveStopWords",
386
+ :keep_diacritics_on_characters => :"String",
387
+ :query_languages => :"Array<SupportedLanguage>",
388
+ :decompound_query => :"Boolean",
389
+ :enable_rules => :"Boolean",
390
+ :enable_personalization => :"Boolean",
391
+ :query_type => :"QueryType",
392
+ :remove_words_if_no_results => :"RemoveWordsIfNoResults",
393
+ :mode => :"Mode",
394
+ :semantic_search => :"SemanticSearch",
395
+ :advanced_syntax => :"Boolean",
396
+ :optional_words => :"Array<String>",
397
+ :disable_exact_on_attributes => :"Array<String>",
398
+ :exact_on_single_word_query => :"ExactOnSingleWordQuery",
399
+ :alternatives_as_exact => :"Array<AlternativesAsExact>",
400
+ :advanced_syntax_features => :"Array<AdvancedSyntaxFeatures>",
401
+ :distinct => :"Distinct",
402
+ :replace_synonyms_in_highlight => :"Boolean",
403
+ :min_proximity => :"Integer",
404
+ :response_fields => :"Array<String>",
405
+ :max_facet_hits => :"Integer",
406
+ :max_values_per_facet => :"Integer",
407
+ :sort_facet_values_by => :"String",
408
+ :attribute_criteria_computed_by_min_proximity => :"Boolean",
409
+ :rendering_content => :"RenderingContent",
410
+ :enable_re_ranking => :"Boolean",
411
+ :re_ranking_apply_filter => :"ReRankingApplyFilter",
412
+ :query => :"ConsequenceQuery",
413
+ :automatic_facet_filters => :"AutomaticFacetFilters",
414
+ :automatic_optional_facet_filters => :"AutomaticFacetFilters"
415
415
  }
416
416
  end
417
417
 
418
418
  # List of attributes with nullable: true
419
419
  def self.openapi_nullable
420
- Set.new([
421
- :re_ranking_apply_filter
422
- ])
420
+ Set.new(
421
+ []
422
+ )
423
423
  end
424
424
 
425
425
  # List of class defined in allOf (OpenAPI v3)
426
426
  def self.openapi_all_of
427
427
  [
428
- :BaseSearchParamsWithoutQuery,
429
- :IndexSettingsAsSearchParams,
430
- :Params
428
+ :"BaseSearchParamsWithoutQuery",
429
+ :"IndexSettingsAsSearchParams",
430
+ :"Params"
431
431
  ]
432
432
  end
433
433
 
434
434
  # Initializes the object
435
435
  # @param [Hash] attributes Model attributes in the form of hash
436
436
  def initialize(attributes = {})
437
- unless attributes.is_a?(Hash)
438
- raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::ConsequenceParams` initialize method"
437
+ if (!attributes.is_a?(Hash))
438
+ raise(
439
+ ArgumentError,
440
+ "The input argument (attributes) must be a hash in `Algolia::ConsequenceParams` initialize method"
441
+ )
439
442
  end
440
443
 
441
444
  # check to see if the attribute exists and convert string to symbol for hash key
442
- attributes = attributes.each_with_object({}) do |(k, v), h|
443
- unless self.class.attribute_map.key?(k.to_sym)
444
- raise ArgumentError,
445
- "`#{k}` is not a valid attribute in `Algolia::ConsequenceParams`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
445
+ attributes = attributes.each_with_object({}) { |(k, v), h|
446
+ if (!self.class.attribute_map.key?(k.to_sym))
447
+ raise(
448
+ ArgumentError,
449
+ "`#{k}` is not a valid attribute in `Algolia::ConsequenceParams`. Please check the name to make sure it's valid. List of attributes: " +
450
+ self.class.attribute_map.keys.inspect
451
+ )
446
452
  end
447
453
 
448
454
  h[k.to_sym] = v
449
- end
455
+ }
450
456
 
451
457
  if attributes.key?(:similar_query)
452
458
  self.similar_query = attributes[:similar_query]
@@ -803,11 +809,11 @@ module Algolia
803
809
  # @param [Object] page Value to be assigned
804
810
  def page=(page)
805
811
  if page.nil?
806
- raise ArgumentError, 'page cannot be nil'
812
+ raise ArgumentError, "page cannot be nil"
807
813
  end
808
814
 
809
815
  if page < 0
810
- raise ArgumentError, 'invalid value for "page", must be greater than or equal to 0.'
816
+ raise ArgumentError, "invalid value for \"page\", must be greater than or equal to 0."
811
817
  end
812
818
 
813
819
  @page = page
@@ -817,15 +823,15 @@ module Algolia
817
823
  # @param [Object] length Value to be assigned
818
824
  def length=(length)
819
825
  if length.nil?
820
- raise ArgumentError, 'length cannot be nil'
826
+ raise ArgumentError, "length cannot be nil"
821
827
  end
822
828
 
823
829
  if length > 1000
824
- raise ArgumentError, 'invalid value for "length", must be smaller than or equal to 1000.'
830
+ raise ArgumentError, "invalid value for \"length\", must be smaller than or equal to 1000."
825
831
  end
826
832
 
827
833
  if length < 1
828
- raise ArgumentError, 'invalid value for "length", must be greater than or equal to 1.'
834
+ raise ArgumentError, "invalid value for \"length\", must be greater than or equal to 1."
829
835
  end
830
836
 
831
837
  @length = length
@@ -835,11 +841,11 @@ module Algolia
835
841
  # @param [Object] minimum_around_radius Value to be assigned
836
842
  def minimum_around_radius=(minimum_around_radius)
837
843
  if minimum_around_radius.nil?
838
- raise ArgumentError, 'minimum_around_radius cannot be nil'
844
+ raise ArgumentError, "minimum_around_radius cannot be nil"
839
845
  end
840
846
 
841
847
  if minimum_around_radius < 1
842
- raise ArgumentError, 'invalid value for "minimum_around_radius", must be greater than or equal to 1.'
848
+ raise ArgumentError, "invalid value for \"minimum_around_radius\", must be greater than or equal to 1."
843
849
  end
844
850
 
845
851
  @minimum_around_radius = minimum_around_radius
@@ -849,15 +855,15 @@ module Algolia
849
855
  # @param [Object] personalization_impact Value to be assigned
850
856
  def personalization_impact=(personalization_impact)
851
857
  if personalization_impact.nil?
852
- raise ArgumentError, 'personalization_impact cannot be nil'
858
+ raise ArgumentError, "personalization_impact cannot be nil"
853
859
  end
854
860
 
855
861
  if personalization_impact > 100
856
- raise ArgumentError, 'invalid value for "personalization_impact", must be smaller than or equal to 100.'
862
+ raise ArgumentError, "invalid value for \"personalization_impact\", must be smaller than or equal to 100."
857
863
  end
858
864
 
859
865
  if personalization_impact < 0
860
- raise ArgumentError, 'invalid value for "personalization_impact", must be greater than or equal to 0.'
866
+ raise ArgumentError, "invalid value for \"personalization_impact\", must be greater than or equal to 0."
861
867
  end
862
868
 
863
869
  @personalization_impact = personalization_impact
@@ -867,15 +873,15 @@ module Algolia
867
873
  # @param [Object] hits_per_page Value to be assigned
868
874
  def hits_per_page=(hits_per_page)
869
875
  if hits_per_page.nil?
870
- raise ArgumentError, 'hits_per_page cannot be nil'
876
+ raise ArgumentError, "hits_per_page cannot be nil"
871
877
  end
872
878
 
873
879
  if hits_per_page > 1000
874
- raise ArgumentError, 'invalid value for "hits_per_page", must be smaller than or equal to 1000.'
880
+ raise ArgumentError, "invalid value for \"hits_per_page\", must be smaller than or equal to 1000."
875
881
  end
876
882
 
877
883
  if hits_per_page < 1
878
- raise ArgumentError, 'invalid value for "hits_per_page", must be greater than or equal to 1.'
884
+ raise ArgumentError, "invalid value for \"hits_per_page\", must be greater than or equal to 1."
879
885
  end
880
886
 
881
887
  @hits_per_page = hits_per_page
@@ -885,15 +891,15 @@ module Algolia
885
891
  # @param [Object] min_proximity Value to be assigned
886
892
  def min_proximity=(min_proximity)
887
893
  if min_proximity.nil?
888
- raise ArgumentError, 'min_proximity cannot be nil'
894
+ raise ArgumentError, "min_proximity cannot be nil"
889
895
  end
890
896
 
891
897
  if min_proximity > 7
892
- raise ArgumentError, 'invalid value for "min_proximity", must be smaller than or equal to 7.'
898
+ raise ArgumentError, "invalid value for \"min_proximity\", must be smaller than or equal to 7."
893
899
  end
894
900
 
895
901
  if min_proximity < 1
896
- raise ArgumentError, 'invalid value for "min_proximity", must be greater than or equal to 1.'
902
+ raise ArgumentError, "invalid value for \"min_proximity\", must be greater than or equal to 1."
897
903
  end
898
904
 
899
905
  @min_proximity = min_proximity
@@ -903,11 +909,11 @@ module Algolia
903
909
  # @param [Object] max_facet_hits Value to be assigned
904
910
  def max_facet_hits=(max_facet_hits)
905
911
  if max_facet_hits.nil?
906
- raise ArgumentError, 'max_facet_hits cannot be nil'
912
+ raise ArgumentError, "max_facet_hits cannot be nil"
907
913
  end
908
914
 
909
915
  if max_facet_hits > 100
910
- raise ArgumentError, 'invalid value for "max_facet_hits", must be smaller than or equal to 100.'
916
+ raise ArgumentError, "invalid value for \"max_facet_hits\", must be smaller than or equal to 100."
911
917
  end
912
918
 
913
919
  @max_facet_hits = max_facet_hits
@@ -917,11 +923,11 @@ module Algolia
917
923
  # @param [Object] max_values_per_facet Value to be assigned
918
924
  def max_values_per_facet=(max_values_per_facet)
919
925
  if max_values_per_facet.nil?
920
- raise ArgumentError, 'max_values_per_facet cannot be nil'
926
+ raise ArgumentError, "max_values_per_facet cannot be nil"
921
927
  end
922
928
 
923
929
  if max_values_per_facet > 1000
924
- raise ArgumentError, 'invalid value for "max_values_per_facet", must be smaller than or equal to 1000.'
930
+ raise ArgumentError, "invalid value for \"max_values_per_facet\", must be smaller than or equal to 1000."
925
931
  end
926
932
 
927
933
  @max_values_per_facet = max_values_per_facet
@@ -930,8 +936,7 @@ module Algolia
930
936
  # Checks equality by comparing each attribute.
931
937
  # @param [Object] Object to be compared
932
938
  def ==(other)
933
- return true if equal?(other)
934
-
939
+ return true if self.equal?(other)
935
940
  self.class == other.class &&
936
941
  similar_query == other.similar_query &&
937
942
  filters == other.filters &&
@@ -1022,8 +1027,86 @@ module Algolia
1022
1027
  # Calculates hash code according to all attributes.
1023
1028
  # @return [Integer] Hash code
1024
1029
  def hash
1025
- [similar_query, filters, facet_filters, optional_filters, numeric_filters, tag_filters, sum_or_filters_scores, restrict_searchable_attributes, facets,
1026
- faceting_after_distinct, page, offset, length, around_lat_lng, around_lat_lng_via_ip, around_radius, around_precision, minimum_around_radius, inside_bounding_box, inside_polygon, natural_languages, rule_contexts, personalization_impact, user_token, get_ranking_info, synonyms, click_analytics, analytics, analytics_tags, percentile_computation, enable_ab_test, attributes_to_retrieve, ranking, custom_ranking, relevancy_strictness, attributes_to_highlight, attributes_to_snippet, highlight_pre_tag, highlight_post_tag, snippet_ellipsis_text, restrict_highlight_and_snippet_arrays, hits_per_page, min_word_sizefor1_typo, min_word_sizefor2_typos, typo_tolerance, allow_typos_on_numeric_tokens, disable_typo_tolerance_on_attributes, ignore_plurals, remove_stop_words, keep_diacritics_on_characters, query_languages, decompound_query, enable_rules, enable_personalization, query_type, remove_words_if_no_results, mode, semantic_search, advanced_syntax, optional_words, disable_exact_on_attributes, exact_on_single_word_query, alternatives_as_exact, advanced_syntax_features, distinct, replace_synonyms_in_highlight, min_proximity, response_fields, max_facet_hits, max_values_per_facet, sort_facet_values_by, attribute_criteria_computed_by_min_proximity, rendering_content, enable_re_ranking, re_ranking_apply_filter, query, automatic_facet_filters, automatic_optional_facet_filters].hash
1030
+ [
1031
+ similar_query,
1032
+ filters,
1033
+ facet_filters,
1034
+ optional_filters,
1035
+ numeric_filters,
1036
+ tag_filters,
1037
+ sum_or_filters_scores,
1038
+ restrict_searchable_attributes,
1039
+ facets,
1040
+ faceting_after_distinct,
1041
+ page,
1042
+ offset,
1043
+ length,
1044
+ around_lat_lng,
1045
+ around_lat_lng_via_ip,
1046
+ around_radius,
1047
+ around_precision,
1048
+ minimum_around_radius,
1049
+ inside_bounding_box,
1050
+ inside_polygon,
1051
+ natural_languages,
1052
+ rule_contexts,
1053
+ personalization_impact,
1054
+ user_token,
1055
+ get_ranking_info,
1056
+ synonyms,
1057
+ click_analytics,
1058
+ analytics,
1059
+ analytics_tags,
1060
+ percentile_computation,
1061
+ enable_ab_test,
1062
+ attributes_to_retrieve,
1063
+ ranking,
1064
+ custom_ranking,
1065
+ relevancy_strictness,
1066
+ attributes_to_highlight,
1067
+ attributes_to_snippet,
1068
+ highlight_pre_tag,
1069
+ highlight_post_tag,
1070
+ snippet_ellipsis_text,
1071
+ restrict_highlight_and_snippet_arrays,
1072
+ hits_per_page,
1073
+ min_word_sizefor1_typo,
1074
+ min_word_sizefor2_typos,
1075
+ typo_tolerance,
1076
+ allow_typos_on_numeric_tokens,
1077
+ disable_typo_tolerance_on_attributes,
1078
+ ignore_plurals,
1079
+ remove_stop_words,
1080
+ keep_diacritics_on_characters,
1081
+ query_languages,
1082
+ decompound_query,
1083
+ enable_rules,
1084
+ enable_personalization,
1085
+ query_type,
1086
+ remove_words_if_no_results,
1087
+ mode,
1088
+ semantic_search,
1089
+ advanced_syntax,
1090
+ optional_words,
1091
+ disable_exact_on_attributes,
1092
+ exact_on_single_word_query,
1093
+ alternatives_as_exact,
1094
+ advanced_syntax_features,
1095
+ distinct,
1096
+ replace_synonyms_in_highlight,
1097
+ min_proximity,
1098
+ response_fields,
1099
+ max_facet_hits,
1100
+ max_values_per_facet,
1101
+ sort_facet_values_by,
1102
+ attribute_criteria_computed_by_min_proximity,
1103
+ rendering_content,
1104
+ enable_re_ranking,
1105
+ re_ranking_apply_filter,
1106
+ query,
1107
+ automatic_facet_filters,
1108
+ automatic_optional_facet_filters
1109
+ ].hash
1027
1110
  end
1028
1111
 
1029
1112
  # Builds the object from hash
@@ -1031,7 +1114,6 @@ module Algolia
1031
1114
  # @return [Object] Returns the model itself
1032
1115
  def self.build_from_hash(attributes)
1033
1116
  return nil unless attributes.is_a?(Hash)
1034
-
1035
1117
  attributes = attributes.transform_keys(&:to_sym)
1036
1118
  transformed_hash = {}
1037
1119
  types_mapping.each_pair do |key, type|
@@ -1041,12 +1123,15 @@ module Algolia
1041
1123
  # check to ensure the input is an array given that the attribute
1042
1124
  # is documented as an array but the input is not
1043
1125
  if attributes[attribute_map[key]].is_a?(Array)
1044
- transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
1126
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
1127
+ _deserialize(::Regexp.last_match(1), v)
1128
+ }
1045
1129
  end
1046
1130
  elsif !attributes[attribute_map[key]].nil?
1047
1131
  transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
1048
1132
  end
1049
1133
  end
1134
+
1050
1135
  new(transformed_hash)
1051
1136
  end
1052
1137
 
@@ -1072,6 +1157,7 @@ module Algolia
1072
1157
  else
1073
1158
  false
1074
1159
  end
1160
+
1075
1161
  when :Object
1076
1162
  # generic object (usually a Hash), return directly
1077
1163
  value
@@ -1086,10 +1172,12 @@ module Algolia
1086
1172
  hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1087
1173
  end
1088
1174
  end
1089
- else # model
1175
+ # model
1176
+ else
1090
1177
  # models (e.g. Pet) or oneOf
1091
1178
  klass = Algolia::Search.const_get(type)
1092
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
1179
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
1180
+ .build_from_hash(value)
1093
1181
  end
1094
1182
  end
1095
1183
 
@@ -1122,6 +1210,7 @@ module Algolia
1122
1210
 
1123
1211
  hash[param] = _to_hash(value)
1124
1212
  end
1213
+
1125
1214
  hash
1126
1215
  end
1127
1216
 
@@ -1136,12 +1225,14 @@ module Algolia
1136
1225
  {}.tap do |hash|
1137
1226
  value.each { |k, v| hash[k] = _to_hash(v) }
1138
1227
  end
1139
- elsif value.respond_to? :to_hash
1228
+ elsif value.respond_to?(:to_hash)
1140
1229
  value.to_hash
1141
1230
  else
1142
1231
  value
1143
1232
  end
1144
1233
  end
1234
+
1145
1235
  end
1236
+
1146
1237
  end
1147
1238
  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
  # Replace or edit the search query. If `consequenceQuery` is a string, the entire search query is replaced with that string. If `consequenceQuery` is an object, it describes incremental edits made to the query.
9
9
  module ConsequenceQuery
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
- :ConsequenceQueryObject,
15
- :String
14
+ :"ConsequenceQueryObject",
15
+ :"String"
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