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,17 +1,17 @@
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
  module BrowseParams
9
9
  class << self
10
- # List of class defined in oneOf (OpenAPI v3)
10
+ # List of class defined in oneOf (OpenAPI v3)
11
11
  def openapi_one_of
12
12
  [
13
- :BrowseParamsObject,
14
- :SearchParamsString
13
+ :"BrowseParamsObject",
14
+ :"SearchParamsString"
15
15
  ]
16
16
  end
17
17
 
@@ -27,11 +27,14 @@ module Algolia
27
27
  # - TODO: scalar values are de facto behaving as if they were nullable.
28
28
  # - TODO: logging when debugging is set.
29
29
  openapi_one_of.each do |klass|
30
- next if klass == :AnyType # "nullable: true"
31
-
32
- typed_data = find_and_cast_into_type(klass, data)
33
- return typed_data if typed_data
34
- rescue # rescue all errors so we keep iterating even if the current item lookup raises
30
+ begin
31
+ # "nullable: true"
32
+ next if klass == :AnyType
33
+ typed_data = find_and_cast_into_type(klass, data)
34
+ return typed_data if typed_data
35
+ # rescue all errors so we keep iterating even if the current item lookup raises
36
+ rescue
37
+ end
35
38
  end
36
39
 
37
40
  openapi_one_of.include?(:AnyType) ? data : nil
@@ -41,44 +44,48 @@ module Algolia
41
44
 
42
45
  SchemaMismatchError = Class.new(StandardError)
43
46
 
44
- # NOTE: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
47
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
45
48
  def find_and_cast_into_type(klass, data)
46
49
  return if data.nil?
47
50
 
48
51
  case klass.to_s
49
- when 'Boolean'
52
+ when "Boolean"
50
53
  return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
51
- when 'Float'
54
+ when "Float"
52
55
  return data if data.instance_of?(Float)
53
- when 'Integer'
56
+ when "Integer"
54
57
  return data if data.instance_of?(Integer)
55
- when 'Time'
58
+ when "Time"
56
59
  return Time.parse(data)
57
- when 'Date'
60
+ when "Date"
58
61
  return Date.parse(data)
59
- when 'String'
62
+ when "String"
60
63
  return data if data.instance_of?(String)
61
- when 'Object' # "type: object"
64
+ # "type: object"
65
+ when "Object"
62
66
  return data if data.instance_of?(Hash)
63
- when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
67
+ # "type: array"
68
+ when /\AArray<(?<sub_type>.+)>\z/
64
69
  if data.instance_of?(Array)
65
70
  sub_type = Regexp.last_match[:sub_type]
66
71
  return data.map { |item| find_and_cast_into_type(sub_type, item) }
67
72
  end
68
- when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
73
+ # "type: object" with "additionalProperties: { ... }"
74
+ when /\AHash<String, (?<sub_type>.+)>\z/
69
75
  if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
70
76
  sub_type = Regexp.last_match[:sub_type]
71
77
  return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
72
78
  end
73
- else # model
79
+ # model
80
+ else
74
81
  const = Algolia::Search.const_get(klass)
75
82
  if const
76
- if const.respond_to?(:openapi_one_of) # nested oneOf model
83
+ # nested oneOf model
84
+ if const.respond_to?(:openapi_one_of)
77
85
  model = const.build(data)
78
86
  else
79
87
  # raise if data contains keys that are not known to the model
80
88
  raise unless (data.keys - const.acceptable_attributes).empty?
81
-
82
89
  model = const.build_from_hash(data)
83
90
  end
84
91
 
@@ -86,11 +93,13 @@ module Algolia
86
93
  end
87
94
  end
88
95
 
89
- raise # if no match by now, raise
96
+ # if no match by now, raise
97
+ raise
90
98
  rescue
91
99
  raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
92
100
  end
93
101
  end
94
102
  end
103
+
95
104
  end
96
105
  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
@@ -333,117 +333,123 @@ module Algolia
333
333
  # Attribute type mapping.
334
334
  def self.types_mapping
335
335
  {
336
- :query => :String,
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
- :cursor => :String
336
+ :query => :"String",
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
+ :cursor => :"String"
413
413
  }
414
414
  end
415
415
 
416
416
  # List of attributes with nullable: true
417
417
  def self.openapi_nullable
418
- Set.new([
419
- :re_ranking_apply_filter
420
- ])
418
+ Set.new(
419
+ []
420
+ )
421
421
  end
422
422
 
423
423
  # List of class defined in allOf (OpenAPI v3)
424
424
  def self.openapi_all_of
425
425
  [
426
- :Cursor,
427
- :SearchParamsObject
426
+ :"Cursor",
427
+ :"SearchParamsObject"
428
428
  ]
429
429
  end
430
430
 
431
431
  # Initializes the object
432
432
  # @param [Hash] attributes Model attributes in the form of hash
433
433
  def initialize(attributes = {})
434
- unless attributes.is_a?(Hash)
435
- raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::BrowseParamsObject` initialize method"
434
+ if (!attributes.is_a?(Hash))
435
+ raise(
436
+ ArgumentError,
437
+ "The input argument (attributes) must be a hash in `Algolia::BrowseParamsObject` initialize method"
438
+ )
436
439
  end
437
440
 
438
441
  # check to see if the attribute exists and convert string to symbol for hash key
439
- attributes = attributes.each_with_object({}) do |(k, v), h|
440
- unless self.class.attribute_map.key?(k.to_sym)
441
- raise ArgumentError,
442
- "`#{k}` is not a valid attribute in `Algolia::BrowseParamsObject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
442
+ attributes = attributes.each_with_object({}) { |(k, v), h|
443
+ if (!self.class.attribute_map.key?(k.to_sym))
444
+ raise(
445
+ ArgumentError,
446
+ "`#{k}` is not a valid attribute in `Algolia::BrowseParamsObject`. Please check the name to make sure it's valid. List of attributes: " +
447
+ self.class.attribute_map.keys.inspect
448
+ )
443
449
  end
444
450
 
445
451
  h[k.to_sym] = v
446
- end
452
+ }
447
453
 
448
454
  if attributes.key?(:query)
449
455
  self.query = attributes[:query]
@@ -796,11 +802,11 @@ module Algolia
796
802
  # @param [Object] page Value to be assigned
797
803
  def page=(page)
798
804
  if page.nil?
799
- raise ArgumentError, 'page cannot be nil'
805
+ raise ArgumentError, "page cannot be nil"
800
806
  end
801
807
 
802
808
  if page < 0
803
- raise ArgumentError, 'invalid value for "page", must be greater than or equal to 0.'
809
+ raise ArgumentError, "invalid value for \"page\", must be greater than or equal to 0."
804
810
  end
805
811
 
806
812
  @page = page
@@ -810,15 +816,15 @@ module Algolia
810
816
  # @param [Object] length Value to be assigned
811
817
  def length=(length)
812
818
  if length.nil?
813
- raise ArgumentError, 'length cannot be nil'
819
+ raise ArgumentError, "length cannot be nil"
814
820
  end
815
821
 
816
822
  if length > 1000
817
- raise ArgumentError, 'invalid value for "length", must be smaller than or equal to 1000.'
823
+ raise ArgumentError, "invalid value for \"length\", must be smaller than or equal to 1000."
818
824
  end
819
825
 
820
826
  if length < 1
821
- raise ArgumentError, 'invalid value for "length", must be greater than or equal to 1.'
827
+ raise ArgumentError, "invalid value for \"length\", must be greater than or equal to 1."
822
828
  end
823
829
 
824
830
  @length = length
@@ -828,11 +834,11 @@ module Algolia
828
834
  # @param [Object] minimum_around_radius Value to be assigned
829
835
  def minimum_around_radius=(minimum_around_radius)
830
836
  if minimum_around_radius.nil?
831
- raise ArgumentError, 'minimum_around_radius cannot be nil'
837
+ raise ArgumentError, "minimum_around_radius cannot be nil"
832
838
  end
833
839
 
834
840
  if minimum_around_radius < 1
835
- raise ArgumentError, 'invalid value for "minimum_around_radius", must be greater than or equal to 1.'
841
+ raise ArgumentError, "invalid value for \"minimum_around_radius\", must be greater than or equal to 1."
836
842
  end
837
843
 
838
844
  @minimum_around_radius = minimum_around_radius
@@ -842,15 +848,15 @@ module Algolia
842
848
  # @param [Object] personalization_impact Value to be assigned
843
849
  def personalization_impact=(personalization_impact)
844
850
  if personalization_impact.nil?
845
- raise ArgumentError, 'personalization_impact cannot be nil'
851
+ raise ArgumentError, "personalization_impact cannot be nil"
846
852
  end
847
853
 
848
854
  if personalization_impact > 100
849
- raise ArgumentError, 'invalid value for "personalization_impact", must be smaller than or equal to 100.'
855
+ raise ArgumentError, "invalid value for \"personalization_impact\", must be smaller than or equal to 100."
850
856
  end
851
857
 
852
858
  if personalization_impact < 0
853
- raise ArgumentError, 'invalid value for "personalization_impact", must be greater than or equal to 0.'
859
+ raise ArgumentError, "invalid value for \"personalization_impact\", must be greater than or equal to 0."
854
860
  end
855
861
 
856
862
  @personalization_impact = personalization_impact
@@ -860,15 +866,15 @@ module Algolia
860
866
  # @param [Object] hits_per_page Value to be assigned
861
867
  def hits_per_page=(hits_per_page)
862
868
  if hits_per_page.nil?
863
- raise ArgumentError, 'hits_per_page cannot be nil'
869
+ raise ArgumentError, "hits_per_page cannot be nil"
864
870
  end
865
871
 
866
872
  if hits_per_page > 1000
867
- raise ArgumentError, 'invalid value for "hits_per_page", must be smaller than or equal to 1000.'
873
+ raise ArgumentError, "invalid value for \"hits_per_page\", must be smaller than or equal to 1000."
868
874
  end
869
875
 
870
876
  if hits_per_page < 1
871
- raise ArgumentError, 'invalid value for "hits_per_page", must be greater than or equal to 1.'
877
+ raise ArgumentError, "invalid value for \"hits_per_page\", must be greater than or equal to 1."
872
878
  end
873
879
 
874
880
  @hits_per_page = hits_per_page
@@ -878,15 +884,15 @@ module Algolia
878
884
  # @param [Object] min_proximity Value to be assigned
879
885
  def min_proximity=(min_proximity)
880
886
  if min_proximity.nil?
881
- raise ArgumentError, 'min_proximity cannot be nil'
887
+ raise ArgumentError, "min_proximity cannot be nil"
882
888
  end
883
889
 
884
890
  if min_proximity > 7
885
- raise ArgumentError, 'invalid value for "min_proximity", must be smaller than or equal to 7.'
891
+ raise ArgumentError, "invalid value for \"min_proximity\", must be smaller than or equal to 7."
886
892
  end
887
893
 
888
894
  if min_proximity < 1
889
- raise ArgumentError, 'invalid value for "min_proximity", must be greater than or equal to 1.'
895
+ raise ArgumentError, "invalid value for \"min_proximity\", must be greater than or equal to 1."
890
896
  end
891
897
 
892
898
  @min_proximity = min_proximity
@@ -896,11 +902,11 @@ module Algolia
896
902
  # @param [Object] max_facet_hits Value to be assigned
897
903
  def max_facet_hits=(max_facet_hits)
898
904
  if max_facet_hits.nil?
899
- raise ArgumentError, 'max_facet_hits cannot be nil'
905
+ raise ArgumentError, "max_facet_hits cannot be nil"
900
906
  end
901
907
 
902
908
  if max_facet_hits > 100
903
- raise ArgumentError, 'invalid value for "max_facet_hits", must be smaller than or equal to 100.'
909
+ raise ArgumentError, "invalid value for \"max_facet_hits\", must be smaller than or equal to 100."
904
910
  end
905
911
 
906
912
  @max_facet_hits = max_facet_hits
@@ -910,11 +916,11 @@ module Algolia
910
916
  # @param [Object] max_values_per_facet Value to be assigned
911
917
  def max_values_per_facet=(max_values_per_facet)
912
918
  if max_values_per_facet.nil?
913
- raise ArgumentError, 'max_values_per_facet cannot be nil'
919
+ raise ArgumentError, "max_values_per_facet cannot be nil"
914
920
  end
915
921
 
916
922
  if max_values_per_facet > 1000
917
- raise ArgumentError, 'invalid value for "max_values_per_facet", must be smaller than or equal to 1000.'
923
+ raise ArgumentError, "invalid value for \"max_values_per_facet\", must be smaller than or equal to 1000."
918
924
  end
919
925
 
920
926
  @max_values_per_facet = max_values_per_facet
@@ -923,8 +929,7 @@ module Algolia
923
929
  # Checks equality by comparing each attribute.
924
930
  # @param [Object] Object to be compared
925
931
  def ==(other)
926
- return true if equal?(other)
927
-
932
+ return true if self.equal?(other)
928
933
  self.class == other.class &&
929
934
  query == other.query &&
930
935
  similar_query == other.similar_query &&
@@ -1014,8 +1019,85 @@ module Algolia
1014
1019
  # Calculates hash code according to all attributes.
1015
1020
  # @return [Integer] Hash code
1016
1021
  def hash
1017
- [query, similar_query, filters, facet_filters, optional_filters, numeric_filters, tag_filters, sum_or_filters_scores, restrict_searchable_attributes, facets,
1018
- 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, cursor].hash
1022
+ [
1023
+ query,
1024
+ similar_query,
1025
+ filters,
1026
+ facet_filters,
1027
+ optional_filters,
1028
+ numeric_filters,
1029
+ tag_filters,
1030
+ sum_or_filters_scores,
1031
+ restrict_searchable_attributes,
1032
+ facets,
1033
+ faceting_after_distinct,
1034
+ page,
1035
+ offset,
1036
+ length,
1037
+ around_lat_lng,
1038
+ around_lat_lng_via_ip,
1039
+ around_radius,
1040
+ around_precision,
1041
+ minimum_around_radius,
1042
+ inside_bounding_box,
1043
+ inside_polygon,
1044
+ natural_languages,
1045
+ rule_contexts,
1046
+ personalization_impact,
1047
+ user_token,
1048
+ get_ranking_info,
1049
+ synonyms,
1050
+ click_analytics,
1051
+ analytics,
1052
+ analytics_tags,
1053
+ percentile_computation,
1054
+ enable_ab_test,
1055
+ attributes_to_retrieve,
1056
+ ranking,
1057
+ custom_ranking,
1058
+ relevancy_strictness,
1059
+ attributes_to_highlight,
1060
+ attributes_to_snippet,
1061
+ highlight_pre_tag,
1062
+ highlight_post_tag,
1063
+ snippet_ellipsis_text,
1064
+ restrict_highlight_and_snippet_arrays,
1065
+ hits_per_page,
1066
+ min_word_sizefor1_typo,
1067
+ min_word_sizefor2_typos,
1068
+ typo_tolerance,
1069
+ allow_typos_on_numeric_tokens,
1070
+ disable_typo_tolerance_on_attributes,
1071
+ ignore_plurals,
1072
+ remove_stop_words,
1073
+ keep_diacritics_on_characters,
1074
+ query_languages,
1075
+ decompound_query,
1076
+ enable_rules,
1077
+ enable_personalization,
1078
+ query_type,
1079
+ remove_words_if_no_results,
1080
+ mode,
1081
+ semantic_search,
1082
+ advanced_syntax,
1083
+ optional_words,
1084
+ disable_exact_on_attributes,
1085
+ exact_on_single_word_query,
1086
+ alternatives_as_exact,
1087
+ advanced_syntax_features,
1088
+ distinct,
1089
+ replace_synonyms_in_highlight,
1090
+ min_proximity,
1091
+ response_fields,
1092
+ max_facet_hits,
1093
+ max_values_per_facet,
1094
+ sort_facet_values_by,
1095
+ attribute_criteria_computed_by_min_proximity,
1096
+ rendering_content,
1097
+ enable_re_ranking,
1098
+ re_ranking_apply_filter,
1099
+ cursor
1100
+ ].hash
1019
1101
  end
1020
1102
 
1021
1103
  # Builds the object from hash
@@ -1023,7 +1105,6 @@ module Algolia
1023
1105
  # @return [Object] Returns the model itself
1024
1106
  def self.build_from_hash(attributes)
1025
1107
  return nil unless attributes.is_a?(Hash)
1026
-
1027
1108
  attributes = attributes.transform_keys(&:to_sym)
1028
1109
  transformed_hash = {}
1029
1110
  types_mapping.each_pair do |key, type|
@@ -1033,12 +1114,15 @@ module Algolia
1033
1114
  # check to ensure the input is an array given that the attribute
1034
1115
  # is documented as an array but the input is not
1035
1116
  if attributes[attribute_map[key]].is_a?(Array)
1036
- transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
1117
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
1118
+ _deserialize(::Regexp.last_match(1), v)
1119
+ }
1037
1120
  end
1038
1121
  elsif !attributes[attribute_map[key]].nil?
1039
1122
  transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
1040
1123
  end
1041
1124
  end
1125
+
1042
1126
  new(transformed_hash)
1043
1127
  end
1044
1128
 
@@ -1064,6 +1148,7 @@ module Algolia
1064
1148
  else
1065
1149
  false
1066
1150
  end
1151
+
1067
1152
  when :Object
1068
1153
  # generic object (usually a Hash), return directly
1069
1154
  value
@@ -1078,10 +1163,12 @@ module Algolia
1078
1163
  hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1079
1164
  end
1080
1165
  end
1081
- else # model
1166
+ # model
1167
+ else
1082
1168
  # models (e.g. Pet) or oneOf
1083
1169
  klass = Algolia::Search.const_get(type)
1084
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
1170
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
1171
+ .build_from_hash(value)
1085
1172
  end
1086
1173
  end
1087
1174
 
@@ -1114,6 +1201,7 @@ module Algolia
1114
1201
 
1115
1202
  hash[param] = _to_hash(value)
1116
1203
  end
1204
+
1117
1205
  hash
1118
1206
  end
1119
1207
 
@@ -1128,12 +1216,14 @@ module Algolia
1128
1216
  {}.tap do |hash|
1129
1217
  value.each { |k, v| hash[k] = _to_hash(v) }
1130
1218
  end
1131
- elsif value.respond_to? :to_hash
1219
+ elsif value.respond_to?(:to_hash)
1132
1220
  value.to_hash
1133
1221
  else
1134
1222
  value
1135
1223
  end
1136
1224
  end
1225
+
1137
1226
  end
1227
+
1138
1228
  end
1139
1229
  end