algolia 3.0.0.beta.7 → 3.0.0.beta.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +2 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +3 -30
- data/Rakefile +0 -2
- data/algolia.gemspec +1 -1
- data/lib/algolia/api/abtesting_client.rb +52 -37
- data/lib/algolia/api/analytics_client.rb +415 -116
- data/lib/algolia/api/ingestion_client.rb +462 -182
- data/lib/algolia/api/insights_client.rb +45 -28
- data/lib/algolia/api/monitoring_client.rb +50 -44
- data/lib/algolia/api/personalization_client.rb +57 -32
- data/lib/algolia/api/query_suggestions_client.rb +59 -40
- data/lib/algolia/api/recommend_client.rb +70 -43
- data/lib/algolia/api/search_client.rb +461 -264
- data/lib/algolia/api/usage_client.rb +48 -28
- data/lib/algolia/api_client.rb +25 -24
- data/lib/algolia/api_error.rb +8 -8
- data/lib/algolia/configuration.rb +17 -6
- data/lib/algolia/error.rb +2 -2
- data/lib/algolia/logger_helper.rb +4 -4
- data/lib/algolia/models/abtesting/ab_test.rb +62 -37
- data/lib/algolia/models/abtesting/ab_test_configuration.rb +35 -20
- data/lib/algolia/models/abtesting/ab_test_response.rb +35 -20
- data/lib/algolia/models/abtesting/ab_tests_variant.rb +38 -23
- data/lib/algolia/models/abtesting/ab_tests_variant_search_params.rb +41 -26
- data/lib/algolia/models/abtesting/add_ab_tests_request.rb +38 -23
- data/lib/algolia/models/abtesting/add_ab_tests_variant.rb +33 -24
- data/lib/algolia/models/abtesting/currency.rb +32 -20
- data/lib/algolia/models/abtesting/custom_search_params.rb +33 -18
- data/lib/algolia/models/abtesting/effect.rb +2 -3
- data/lib/algolia/models/abtesting/empty_search.rb +33 -18
- data/lib/algolia/models/abtesting/error_base.rb +24 -13
- data/lib/algolia/models/abtesting/filter_effects.rb +34 -19
- data/lib/algolia/models/abtesting/filter_effects_empty_search.rb +34 -19
- data/lib/algolia/models/abtesting/filter_effects_outliers.rb +34 -19
- data/lib/algolia/models/abtesting/list_ab_tests_response.rb +37 -22
- data/lib/algolia/models/abtesting/minimum_detectable_effect.rb +37 -22
- data/lib/algolia/models/abtesting/outliers.rb +29 -17
- data/lib/algolia/models/abtesting/status.rb +2 -3
- data/lib/algolia/models/abtesting/variant.rb +83 -51
- data/lib/algolia/models/analytics/click_positions_inner.rb +39 -24
- data/lib/algolia/models/analytics/currencies_value.rb +34 -19
- data/lib/algolia/models/analytics/daily_add_to_cart_rates.rb +42 -27
- data/lib/algolia/models/analytics/daily_average_clicks.rb +40 -25
- data/lib/algolia/models/analytics/daily_click_through_rates.rb +42 -27
- data/lib/algolia/models/analytics/daily_conversion_rates.rb +42 -27
- data/lib/algolia/models/analytics/daily_no_click_rates.rb +41 -26
- data/lib/algolia/models/analytics/daily_no_results_rates.rb +39 -24
- data/lib/algolia/models/analytics/daily_purchase_rates.rb +40 -25
- data/lib/algolia/models/analytics/daily_revenue.rb +34 -19
- data/lib/algolia/models/analytics/daily_searches.rb +34 -19
- data/lib/algolia/models/analytics/daily_searches_no_clicks.rb +37 -22
- data/lib/algolia/models/analytics/daily_searches_no_results.rb +37 -22
- data/lib/algolia/models/analytics/daily_users.rb +34 -19
- data/lib/algolia/models/analytics/direction.rb +2 -3
- data/lib/algolia/models/analytics/error_base.rb +24 -13
- data/lib/algolia/models/analytics/get_add_to_cart_rate_response.rb +42 -27
- data/lib/algolia/models/analytics/get_average_click_position_response.rb +40 -25
- data/lib/algolia/models/analytics/get_click_positions_response.rb +36 -21
- data/lib/algolia/models/analytics/get_click_through_rate_response.rb +42 -27
- data/lib/algolia/models/analytics/get_conversion_rate_response.rb +42 -27
- data/lib/algolia/models/analytics/get_no_click_rate_response.rb +41 -26
- data/lib/algolia/models/analytics/get_no_results_rate_response.rb +39 -24
- data/lib/algolia/models/analytics/get_purchase_rate_response.rb +40 -25
- data/lib/algolia/models/analytics/get_revenue.rb +34 -19
- data/lib/algolia/models/analytics/get_searches_count_response.rb +34 -19
- data/lib/algolia/models/analytics/get_searches_no_clicks_response.rb +33 -18
- data/lib/algolia/models/analytics/get_searches_no_results_response.rb +33 -18
- data/lib/algolia/models/analytics/get_status_response.rb +35 -20
- data/lib/algolia/models/analytics/get_top_countries_response.rb +33 -18
- data/lib/algolia/models/analytics/get_top_filter_attribute.rb +34 -19
- data/lib/algolia/models/analytics/get_top_filter_attributes_response.rb +33 -18
- data/lib/algolia/models/analytics/get_top_filter_for_attribute.rb +36 -21
- data/lib/algolia/models/analytics/get_top_filter_for_attribute_response.rb +33 -18
- data/lib/algolia/models/analytics/get_top_filters_no_results_response.rb +35 -20
- data/lib/algolia/models/analytics/get_top_filters_no_results_value.rb +35 -20
- data/lib/algolia/models/analytics/get_top_filters_no_results_values.rb +34 -19
- data/lib/algolia/models/analytics/get_top_hits_response.rb +34 -25
- data/lib/algolia/models/analytics/get_top_searches_response.rb +34 -25
- data/lib/algolia/models/analytics/get_users_count_response.rb +34 -19
- data/lib/algolia/models/analytics/operator.rb +2 -3
- data/lib/algolia/models/analytics/order_by.rb +2 -3
- data/lib/algolia/models/analytics/top_country.rb +34 -19
- data/lib/algolia/models/analytics/top_hit.rb +30 -18
- data/lib/algolia/models/analytics/top_hit_with_analytics.rb +50 -35
- data/lib/algolia/models/analytics/top_hit_with_revenue_analytics.rb +77 -50
- data/lib/algolia/models/analytics/top_hits_response.rb +33 -18
- data/lib/algolia/models/analytics/top_hits_response_with_analytics.rb +33 -18
- data/lib/algolia/models/analytics/top_hits_response_with_revenue_analytics.rb +33 -18
- data/lib/algolia/models/analytics/top_search.rb +35 -20
- data/lib/algolia/models/analytics/top_search_with_analytics.rb +76 -44
- data/lib/algolia/models/analytics/top_search_with_revenue_analytics.rb +94 -58
- data/lib/algolia/models/analytics/top_searches_response.rb +33 -18
- data/lib/algolia/models/analytics/top_searches_response_with_analytics.rb +33 -18
- data/lib/algolia/models/analytics/top_searches_response_with_revenue_analytics.rb +33 -18
- data/lib/algolia/models/ingestion/action_type.rb +2 -3
- data/lib/algolia/models/ingestion/auth_algolia.rb +34 -19
- data/lib/algolia/models/ingestion/auth_algolia_insights.rb +34 -19
- data/lib/algolia/models/ingestion/auth_algolia_insights_partial.rb +34 -19
- data/lib/algolia/models/ingestion/auth_algolia_partial.rb +34 -19
- data/lib/algolia/models/ingestion/auth_api_key.rb +33 -18
- data/lib/algolia/models/ingestion/auth_api_key_partial.rb +33 -18
- data/lib/algolia/models/ingestion/auth_basic.rb +34 -19
- data/lib/algolia/models/ingestion/auth_basic_partial.rb +34 -19
- data/lib/algolia/models/ingestion/auth_google_service_account.rb +34 -19
- data/lib/algolia/models/ingestion/auth_google_service_account_partial.rb +34 -19
- data/lib/algolia/models/ingestion/auth_input.rb +37 -28
- data/lib/algolia/models/ingestion/auth_input_partial.rb +37 -28
- data/lib/algolia/models/ingestion/auth_o_auth.rb +36 -21
- data/lib/algolia/models/ingestion/auth_o_auth_partial.rb +36 -21
- data/lib/algolia/models/ingestion/authentication.rb +41 -26
- data/lib/algolia/models/ingestion/authentication_create.rb +38 -23
- data/lib/algolia/models/ingestion/authentication_create_response.rb +35 -20
- data/lib/algolia/models/ingestion/authentication_search.rb +33 -18
- data/lib/algolia/models/ingestion/authentication_sort_keys.rb +2 -3
- data/lib/algolia/models/ingestion/authentication_type.rb +2 -3
- data/lib/algolia/models/ingestion/authentication_update.rb +38 -23
- data/lib/algolia/models/ingestion/authentication_update_response.rb +35 -20
- data/lib/algolia/models/ingestion/big_commerce_channel.rb +34 -19
- data/lib/algolia/models/ingestion/big_commerce_metafield.rb +34 -19
- data/lib/algolia/models/ingestion/big_query_data_type.rb +2 -3
- data/lib/algolia/models/ingestion/commercetools_custom_fields.rb +39 -24
- data/lib/algolia/models/ingestion/delete_response.rb +33 -18
- data/lib/algolia/models/ingestion/destination.rb +39 -24
- data/lib/algolia/models/ingestion/destination_create.rb +36 -21
- data/lib/algolia/models/ingestion/destination_create_response.rb +35 -20
- data/lib/algolia/models/ingestion/destination_index_name.rb +35 -20
- data/lib/algolia/models/ingestion/destination_index_prefix.rb +33 -18
- data/lib/algolia/models/ingestion/destination_input.rb +33 -24
- data/lib/algolia/models/ingestion/destination_search.rb +33 -18
- data/lib/algolia/models/ingestion/destination_sort_keys.rb +2 -3
- data/lib/algolia/models/ingestion/destination_type.rb +2 -3
- data/lib/algolia/models/ingestion/destination_update.rb +36 -21
- data/lib/algolia/models/ingestion/destination_update_response.rb +35 -20
- data/lib/algolia/models/ingestion/docker_image_type.rb +2 -3
- data/lib/algolia/models/ingestion/docker_registry.rb +2 -3
- data/lib/algolia/models/ingestion/{on_demand_date_utils_input.rb → docker_streams_input.rb} +41 -49
- data/lib/algolia/models/ingestion/error_base.rb +24 -13
- data/lib/algolia/models/ingestion/event.rb +38 -26
- data/lib/algolia/models/ingestion/event_sort_keys.rb +2 -3
- data/lib/algolia/models/ingestion/event_status.rb +2 -3
- data/lib/algolia/models/ingestion/event_type.rb +2 -3
- data/lib/algolia/models/ingestion/list_authentications_response.rb +34 -19
- data/lib/algolia/models/ingestion/list_destinations_response.rb +34 -19
- data/lib/algolia/models/ingestion/list_events_response.rb +35 -20
- data/lib/algolia/models/ingestion/list_sources_response.rb +34 -19
- data/lib/algolia/models/ingestion/list_tasks_response.rb +34 -19
- data/lib/algolia/models/ingestion/list_transformations_response.rb +34 -19
- data/lib/algolia/models/ingestion/mapping_field_directive.rb +34 -19
- data/lib/algolia/models/ingestion/mapping_format_schema.rb +2 -3
- data/lib/algolia/models/ingestion/mapping_input.rb +34 -19
- data/lib/algolia/models/ingestion/mapping_kit_action.rb +36 -21
- data/lib/algolia/models/ingestion/mapping_type_csv.rb +2 -3
- data/lib/algolia/models/ingestion/method_type.rb +2 -3
- data/lib/algolia/models/ingestion/on_demand_trigger.rb +34 -19
- data/lib/algolia/models/ingestion/on_demand_trigger_input.rb +33 -18
- data/lib/algolia/models/ingestion/on_demand_trigger_type.rb +2 -3
- data/lib/algolia/models/ingestion/order_keys.rb +2 -3
- data/lib/algolia/models/ingestion/pagination.rb +45 -30
- data/lib/algolia/models/ingestion/platform.rb +2 -3
- data/lib/algolia/models/ingestion/platform_none.rb +2 -3
- data/lib/algolia/models/ingestion/platform_with_none.rb +33 -24
- data/lib/algolia/models/ingestion/record_type.rb +2 -3
- data/lib/algolia/models/ingestion/run.rb +59 -33
- data/lib/algolia/models/ingestion/run_list_response.rb +35 -20
- data/lib/algolia/models/ingestion/run_outcome.rb +2 -3
- data/lib/algolia/models/ingestion/run_progress.rb +34 -19
- data/lib/algolia/models/ingestion/run_reason_code.rb +2 -3
- data/lib/algolia/models/ingestion/run_response.rb +34 -19
- data/lib/algolia/models/ingestion/run_sort_keys.rb +2 -3
- data/lib/algolia/models/ingestion/run_status.rb +2 -3
- data/lib/algolia/models/ingestion/run_type.rb +2 -3
- data/lib/algolia/models/ingestion/schedule_trigger.rb +36 -21
- data/lib/algolia/models/ingestion/schedule_trigger_input.rb +34 -19
- data/lib/algolia/models/ingestion/schedule_trigger_type.rb +2 -3
- data/lib/algolia/models/ingestion/shopify_input.rb +34 -19
- data/lib/algolia/models/ingestion/shopify_market.rb +35 -20
- data/lib/algolia/models/ingestion/shopify_metafield.rb +35 -20
- data/lib/algolia/models/ingestion/sort_keys.rb +2 -3
- data/lib/algolia/models/ingestion/source.rb +35 -23
- data/lib/algolia/models/ingestion/source_big_commerce.rb +37 -22
- data/lib/algolia/models/ingestion/source_big_query.rb +39 -24
- data/lib/algolia/models/ingestion/source_commercetools.rb +38 -23
- data/lib/algolia/models/ingestion/source_create.rb +36 -21
- data/lib/algolia/models/ingestion/source_create_response.rb +35 -20
- data/lib/algolia/models/ingestion/source_csv.rb +43 -25
- data/lib/algolia/models/ingestion/source_docker.rb +37 -22
- data/lib/algolia/models/ingestion/source_ga4_big_query_export.rb +35 -20
- data/lib/algolia/models/ingestion/source_input.rb +39 -30
- data/lib/algolia/models/ingestion/source_json.rb +35 -20
- data/lib/algolia/models/ingestion/source_search.rb +33 -18
- data/lib/algolia/models/ingestion/source_shopify.rb +52 -29
- data/lib/algolia/models/ingestion/source_shopify_base.rb +33 -18
- data/lib/algolia/models/ingestion/source_sort_keys.rb +2 -3
- data/lib/algolia/models/ingestion/source_type.rb +2 -3
- data/lib/algolia/models/ingestion/source_update.rb +35 -20
- data/lib/algolia/models/ingestion/source_update_commercetools.rb +37 -22
- data/lib/algolia/models/ingestion/source_update_docker.rb +36 -21
- data/lib/algolia/models/ingestion/source_update_input.rb +38 -29
- data/lib/algolia/models/ingestion/source_update_response.rb +35 -20
- data/lib/algolia/models/ingestion/source_update_shopify.rb +48 -26
- data/lib/algolia/models/ingestion/source_watch_response.rb +36 -21
- data/lib/algolia/models/ingestion/{streaming_utils_input.rb → streaming_input.rb} +34 -19
- data/lib/algolia/models/ingestion/streaming_trigger.rb +33 -18
- data/lib/algolia/models/ingestion/streaming_trigger_type.rb +2 -3
- data/lib/algolia/models/ingestion/subscription_trigger.rb +33 -18
- data/lib/algolia/models/ingestion/subscription_trigger_type.rb +2 -3
- data/lib/algolia/models/ingestion/task.rb +55 -31
- data/lib/algolia/models/ingestion/task_create.rb +43 -28
- data/lib/algolia/models/ingestion/task_create_response.rb +34 -19
- data/lib/algolia/models/ingestion/task_create_trigger.rb +35 -26
- data/lib/algolia/models/ingestion/task_input.rb +34 -26
- data/lib/algolia/models/ingestion/task_search.rb +33 -18
- data/lib/algolia/models/ingestion/task_sort_keys.rb +2 -3
- data/lib/algolia/models/ingestion/task_update.rb +40 -25
- data/lib/algolia/models/ingestion/task_update_response.rb +34 -19
- data/lib/algolia/models/ingestion/transformation.rb +38 -25
- data/lib/algolia/models/ingestion/transformation_create.rb +35 -22
- data/lib/algolia/models/ingestion/transformation_create_response.rb +34 -19
- data/lib/algolia/models/ingestion/transformation_search.rb +33 -18
- data/lib/algolia/models/ingestion/transformation_try.rb +34 -19
- data/lib/algolia/models/ingestion/transformation_try_response.rb +34 -19
- data/lib/algolia/models/ingestion/transformation_try_response_error.rb +34 -19
- data/lib/algolia/models/ingestion/transformation_update_response.rb +34 -19
- data/lib/algolia/models/ingestion/trigger.rb +35 -26
- data/lib/algolia/models/ingestion/trigger_type.rb +2 -3
- data/lib/algolia/models/ingestion/trigger_update_input.rb +33 -18
- data/lib/algolia/models/ingestion/window.rb +30 -18
- data/lib/algolia/models/insights/add_to_cart_event.rb +2 -3
- data/lib/algolia/models/insights/added_to_cart_object_ids.rb +91 -46
- data/lib/algolia/models/insights/added_to_cart_object_ids_after_search.rb +99 -50
- data/lib/algolia/models/insights/click_event.rb +2 -3
- data/lib/algolia/models/insights/clicked_filters.rb +71 -38
- data/lib/algolia/models/insights/clicked_object_ids.rb +71 -38
- data/lib/algolia/models/insights/clicked_object_ids_after_search.rb +93 -47
- data/lib/algolia/models/insights/conversion_event.rb +2 -3
- data/lib/algolia/models/insights/converted_filters.rb +71 -38
- data/lib/algolia/models/insights/converted_object_ids.rb +71 -38
- data/lib/algolia/models/insights/converted_object_ids_after_search.rb +78 -42
- data/lib/algolia/models/insights/discount.rb +33 -24
- data/lib/algolia/models/insights/error_base.rb +24 -13
- data/lib/algolia/models/insights/events_items.rb +43 -34
- data/lib/algolia/models/insights/events_response.rb +34 -19
- data/lib/algolia/models/insights/insights_events.rb +36 -21
- data/lib/algolia/models/insights/object_data.rb +35 -20
- data/lib/algolia/models/insights/object_data_after_search.rb +42 -24
- data/lib/algolia/models/insights/price.rb +33 -24
- data/lib/algolia/models/insights/purchase_event.rb +2 -3
- data/lib/algolia/models/insights/purchased_object_ids.rb +91 -46
- data/lib/algolia/models/insights/purchased_object_ids_after_search.rb +91 -46
- data/lib/algolia/models/insights/value.rb +33 -24
- data/lib/algolia/models/insights/view_event.rb +2 -3
- data/lib/algolia/models/insights/viewed_filters.rb +71 -38
- data/lib/algolia/models/insights/viewed_object_ids.rb +71 -38
- data/lib/algolia/models/monitoring/error_base.rb +24 -13
- data/lib/algolia/models/monitoring/get_servers403_response.rb +33 -18
- data/lib/algolia/models/monitoring/incident.rb +30 -18
- data/lib/algolia/models/monitoring/incidents_inner.rb +34 -19
- data/lib/algolia/models/monitoring/incidents_response.rb +33 -18
- data/lib/algolia/models/monitoring/indexing_time_response.rb +33 -18
- data/lib/algolia/models/monitoring/indexing_time_response_metrics.rb +33 -18
- data/lib/algolia/models/monitoring/infrastructure_response.rb +33 -18
- data/lib/algolia/models/monitoring/infrastructure_response_metrics.rb +37 -22
- data/lib/algolia/models/monitoring/inventory_response.rb +33 -18
- data/lib/algolia/models/monitoring/latency_response.rb +33 -18
- data/lib/algolia/models/monitoring/latency_response_metrics.rb +33 -18
- data/lib/algolia/models/monitoring/metric.rb +2 -3
- data/lib/algolia/models/monitoring/period.rb +2 -3
- data/lib/algolia/models/monitoring/probes_metric.rb +34 -19
- data/lib/algolia/models/monitoring/region.rb +2 -3
- data/lib/algolia/models/monitoring/server.rb +35 -23
- data/lib/algolia/models/monitoring/server_status.rb +2 -3
- data/lib/algolia/models/monitoring/status.rb +2 -3
- data/lib/algolia/models/monitoring/status_response.rb +33 -18
- data/lib/algolia/models/monitoring/time_inner.rb +34 -19
- data/lib/algolia/models/monitoring/type.rb +2 -3
- data/lib/algolia/models/personalization/delete_user_profile_response.rb +34 -19
- data/lib/algolia/models/personalization/error_base.rb +24 -13
- data/lib/algolia/models/personalization/event_scoring.rb +35 -20
- data/lib/algolia/models/personalization/event_type.rb +2 -3
- data/lib/algolia/models/personalization/facet_scoring.rb +34 -19
- data/lib/algolia/models/personalization/get_user_token_response.rb +35 -20
- data/lib/algolia/models/personalization/personalization_strategy_params.rb +38 -23
- data/lib/algolia/models/personalization/set_personalization_strategy_response.rb +33 -18
- data/lib/algolia/models/query-suggestions/app_id.rb +29 -17
- data/lib/algolia/models/query-suggestions/base_query_suggestions_configuration_response.rb +22 -9
- data/lib/algolia/models/query-suggestions/base_query_suggestions_configuration_with_index.rb +22 -9
- data/lib/algolia/models/query-suggestions/base_response.rb +34 -19
- data/lib/algolia/models/query-suggestions/configuration.rb +44 -26
- data/lib/algolia/models/query-suggestions/configuration_response.rb +48 -30
- data/lib/algolia/models/query-suggestions/configuration_with_index.rb +46 -28
- data/lib/algolia/models/query-suggestions/error_base.rb +24 -13
- data/lib/algolia/models/query-suggestions/facet.rb +30 -18
- data/lib/algolia/models/query-suggestions/get_config_status200_response.rb +37 -22
- data/lib/algolia/models/query-suggestions/get_log_file200_response.rb +36 -21
- data/lib/algolia/models/query-suggestions/languages.rb +33 -24
- data/lib/algolia/models/query-suggestions/log_level.rb +2 -3
- data/lib/algolia/models/query-suggestions/query_suggestions_configuration.rb +34 -16
- data/lib/algolia/models/query-suggestions/query_suggestions_configuration_response.rb +34 -16
- data/lib/algolia/models/query-suggestions/query_suggestions_configuration_with_index.rb +34 -16
- data/lib/algolia/models/query-suggestions/source_index.rb +49 -34
- data/lib/algolia/models/recommend/advanced_syntax_features.rb +2 -3
- data/lib/algolia/models/recommend/alternatives_as_exact.rb +2 -3
- data/lib/algolia/models/recommend/around_precision.rb +33 -24
- data/lib/algolia/models/recommend/around_precision_from_value_inner.rb +34 -19
- data/lib/algolia/models/recommend/around_radius.rb +33 -24
- data/lib/algolia/models/recommend/around_radius_all.rb +2 -3
- data/lib/algolia/models/recommend/auto_facet_filter.rb +34 -19
- data/lib/algolia/models/recommend/base_recommend_request.rb +42 -27
- data/lib/algolia/models/recommend/base_search_params.rb +110 -63
- data/lib/algolia/models/recommend/base_search_params_without_query.rb +106 -60
- data/lib/algolia/models/recommend/base_search_response.rb +76 -121
- data/lib/algolia/models/recommend/bought_together_query.rb +46 -31
- data/lib/algolia/models/recommend/condition.rb +35 -20
- data/lib/algolia/models/recommend/consequence.rb +39 -24
- data/lib/algolia/models/recommend/deleted_at_response.rb +34 -19
- data/lib/algolia/models/recommend/distinct.rb +33 -24
- data/lib/algolia/models/recommend/error_base.rb +24 -13
- data/lib/algolia/models/recommend/exact_on_single_word_query.rb +2 -3
- data/lib/algolia/models/recommend/exhaustive.rb +37 -22
- data/lib/algolia/models/recommend/facet_filters.rb +33 -24
- data/lib/algolia/models/recommend/facet_ordering.rb +34 -19
- data/lib/algolia/models/recommend/facets.rb +29 -17
- data/lib/algolia/models/recommend/facets_stats.rb +36 -21
- data/lib/algolia/models/recommend/fallback_params.rb +207 -118
- data/lib/algolia/models/recommend/fbt_model.rb +2 -3
- data/lib/algolia/models/recommend/frequently_bought_together.rb +34 -19
- data/lib/algolia/models/recommend/get_recommend_task_response.rb +33 -18
- data/lib/algolia/models/recommend/get_recommendations_params.rb +33 -18
- data/lib/algolia/models/recommend/get_recommendations_response.rb +33 -18
- data/lib/algolia/models/recommend/hide_consequence_object.rb +33 -18
- data/lib/algolia/models/recommend/highlight_result.rb +34 -25
- data/lib/algolia/models/recommend/highlight_result_option.rb +36 -21
- data/lib/algolia/models/recommend/ignore_plurals.rb +33 -24
- data/lib/algolia/models/recommend/index_settings_as_search_params.rb +134 -75
- data/lib/algolia/models/recommend/looking_similar.rb +35 -20
- data/lib/algolia/models/recommend/looking_similar_model.rb +2 -3
- data/lib/algolia/models/recommend/looking_similar_query.rb +47 -32
- data/lib/algolia/models/recommend/match_level.rb +2 -3
- data/lib/algolia/models/recommend/matched_geo_location.rb +35 -20
- data/lib/algolia/models/recommend/mode.rb +2 -3
- data/lib/algolia/models/recommend/numeric_filters.rb +33 -24
- data/lib/algolia/models/recommend/optional_filters.rb +33 -24
- data/lib/algolia/models/recommend/params_consequence.rb +35 -20
- data/lib/algolia/models/recommend/personalization.rb +35 -20
- data/lib/algolia/models/recommend/promote_consequence_object.rb +36 -21
- data/lib/algolia/models/recommend/query_type.rb +2 -3
- data/lib/algolia/models/recommend/ranking_info.rb +76 -48
- data/lib/algolia/models/recommend/re_ranking_apply_filter.rb +33 -24
- data/lib/algolia/models/recommend/recommend_hit.rb +32 -21
- data/lib/algolia/models/recommend/recommend_models.rb +2 -3
- data/lib/algolia/models/recommend/recommend_rule.rb +38 -23
- data/lib/algolia/models/recommend/recommend_rule_metadata.rb +33 -18
- data/lib/algolia/models/recommend/recommendations_hit.rb +33 -24
- data/lib/algolia/models/recommend/recommendations_hits.rb +33 -18
- data/lib/algolia/models/recommend/recommendations_request.rb +37 -28
- data/lib/algolia/models/recommend/recommendations_results.rb +159 -114
- data/lib/algolia/models/recommend/recommended_for_you.rb +34 -19
- data/lib/algolia/models/recommend/recommended_for_you_model.rb +2 -3
- data/lib/algolia/models/recommend/recommended_for_you_query.rb +46 -31
- data/lib/algolia/models/recommend/redirect.rb +30 -18
- data/lib/algolia/models/recommend/redirect_rule_index_metadata.rb +37 -22
- data/lib/algolia/models/recommend/redirect_rule_index_metadata_data.rb +33 -18
- data/lib/algolia/models/{ingestion/schedule_date_utils_input.rb → recommend/redirect_url.rb} +43 -58
- data/lib/algolia/models/recommend/related_model.rb +2 -3
- data/lib/algolia/models/recommend/related_products.rb +35 -20
- data/lib/algolia/models/recommend/related_query.rb +47 -32
- data/lib/algolia/models/recommend/remove_stop_words.rb +33 -24
- data/lib/algolia/models/recommend/remove_words_if_no_results.rb +2 -3
- data/lib/algolia/models/recommend/rendering_content.rb +45 -21
- data/lib/algolia/models/recommend/search_pagination.rb +282 -0
- data/lib/algolia/models/recommend/search_params.rb +207 -118
- data/lib/algolia/models/recommend/search_params_object.rb +208 -119
- data/lib/algolia/models/recommend/search_params_query.rb +33 -18
- data/lib/algolia/models/recommend/search_recommend_rules_params.rb +48 -33
- data/lib/algolia/models/recommend/search_recommend_rules_response.rb +38 -23
- data/lib/algolia/models/recommend/semantic_search.rb +35 -20
- data/lib/algolia/models/recommend/snippet_result.rb +34 -25
- data/lib/algolia/models/recommend/snippet_result_option.rb +34 -19
- data/lib/algolia/models/recommend/sort_remaining_by.rb +2 -3
- data/lib/algolia/models/recommend/supported_language.rb +72 -5
- data/lib/algolia/models/recommend/tag_filters.rb +33 -24
- data/lib/algolia/models/recommend/task_status.rb +2 -3
- data/lib/algolia/models/recommend/trending_facet_hit.rb +38 -23
- data/lib/algolia/models/recommend/trending_facets.rb +37 -22
- data/lib/algolia/models/recommend/trending_facets_model.rb +2 -3
- data/lib/algolia/models/recommend/trending_facets_query.rb +49 -34
- data/lib/algolia/models/recommend/trending_items.rb +36 -21
- data/lib/algolia/models/recommend/trending_items_model.rb +2 -3
- data/lib/algolia/models/recommend/trending_items_query.rb +58 -34
- data/lib/algolia/models/recommend/typo_tolerance.rb +33 -24
- data/lib/algolia/models/recommend/typo_tolerance_enum.rb +2 -3
- data/lib/algolia/models/recommend/value.rb +31 -19
- data/lib/algolia/models/search/acl.rb +19 -5
- data/lib/algolia/models/search/action.rb +11 -4
- data/lib/algolia/models/search/add_api_key_response.rb +34 -19
- data/lib/algolia/models/search/advanced_syntax_features.rb +2 -3
- data/lib/algolia/models/search/alternatives_as_exact.rb +2 -3
- data/lib/algolia/models/search/anchoring.rb +2 -3
- data/lib/algolia/models/search/api_key.rb +46 -25
- data/lib/algolia/models/search/api_key_operation.rb +2 -3
- data/lib/algolia/models/search/around_precision.rb +33 -24
- data/lib/algolia/models/search/around_precision_from_value_inner.rb +34 -19
- data/lib/algolia/models/search/around_radius.rb +33 -24
- data/lib/algolia/models/search/around_radius_all.rb +2 -3
- data/lib/algolia/models/search/assign_user_id_params.rb +33 -18
- data/lib/algolia/models/search/attribute_to_update.rb +33 -24
- data/lib/algolia/models/search/automatic_facet_filter.rb +35 -20
- data/lib/algolia/models/search/automatic_facet_filters.rb +33 -24
- data/lib/algolia/models/search/base_get_api_key_response.rb +34 -19
- data/lib/algolia/models/search/base_index_settings.rb +71 -39
- data/lib/algolia/models/search/base_search_params.rb +110 -63
- data/lib/algolia/models/search/base_search_params_without_query.rb +106 -60
- data/lib/algolia/models/search/base_search_response.rb +76 -121
- data/lib/algolia/models/search/batch_assign_user_ids_params.rb +34 -19
- data/lib/algolia/models/search/batch_dictionary_entries_params.rb +34 -19
- data/lib/algolia/models/search/batch_dictionary_entries_request.rb +34 -19
- data/lib/algolia/models/search/batch_params.rb +33 -18
- data/lib/algolia/models/search/batch_request.rb +34 -19
- data/lib/algolia/models/search/batch_response.rb +34 -19
- data/lib/algolia/models/search/batch_write_params.rb +33 -18
- data/lib/algolia/models/search/browse_pagination.rb +274 -0
- data/lib/algolia/models/search/browse_params.rb +33 -24
- data/lib/algolia/models/search/browse_params_object.rb +210 -120
- data/lib/algolia/models/search/browse_response.rb +158 -118
- data/lib/algolia/models/search/built_in_operation.rb +34 -19
- data/lib/algolia/models/search/built_in_operation_type.rb +2 -3
- data/lib/algolia/models/search/condition.rb +38 -23
- data/lib/algolia/models/search/consequence.rb +43 -28
- data/lib/algolia/models/search/consequence_hide.rb +33 -18
- data/lib/algolia/models/search/consequence_params.rb +213 -122
- data/lib/algolia/models/search/consequence_query.rb +33 -24
- data/lib/algolia/models/search/consequence_query_object.rb +34 -19
- data/lib/algolia/models/search/created_at_response.rb +33 -18
- data/lib/algolia/models/search/cursor.rb +29 -17
- data/lib/algolia/models/search/delete_api_key_response.rb +33 -18
- data/lib/algolia/models/search/delete_by_params.rb +50 -26
- data/lib/algolia/models/search/delete_source_response.rb +33 -18
- data/lib/algolia/models/search/deleted_at_response.rb +34 -19
- data/lib/algolia/models/search/dictionary_action.rb +2 -3
- data/lib/algolia/models/search/dictionary_entry.rb +29 -18
- data/lib/algolia/models/search/dictionary_entry_state.rb +2 -3
- data/lib/algolia/models/search/dictionary_language.rb +33 -18
- data/lib/algolia/models/search/dictionary_settings_params.rb +33 -18
- data/lib/algolia/models/search/dictionary_type.rb +2 -3
- data/lib/algolia/models/search/distinct.rb +33 -24
- data/lib/algolia/models/search/edit.rb +31 -19
- data/lib/algolia/models/search/edit_type.rb +2 -3
- data/lib/algolia/models/search/error_base.rb +24 -13
- data/lib/algolia/models/search/exact_on_single_word_query.rb +2 -3
- data/lib/algolia/models/search/exhaustive.rb +37 -22
- data/lib/algolia/models/search/facet_filters.rb +33 -24
- data/lib/algolia/models/search/facet_hits.rb +35 -20
- data/lib/algolia/models/search/facet_ordering.rb +34 -19
- data/lib/algolia/models/search/facets.rb +29 -17
- data/lib/algolia/models/search/facets_stats.rb +36 -21
- data/lib/algolia/models/search/fetched_index.rb +58 -30
- data/lib/algolia/models/search/get_api_key_response.rb +56 -30
- data/lib/algolia/models/search/get_dictionary_settings_response.rb +33 -18
- data/lib/algolia/models/search/get_logs_response.rb +33 -18
- data/lib/algolia/models/search/get_objects_params.rb +33 -18
- data/lib/algolia/models/search/get_objects_request.rb +35 -20
- data/lib/algolia/models/search/get_objects_response.rb +33 -18
- data/lib/algolia/models/search/get_task_response.rb +33 -18
- data/lib/algolia/models/search/get_top_user_ids_response.rb +33 -18
- data/lib/algolia/models/search/has_pending_mappings_response.rb +34 -19
- data/lib/algolia/models/search/highlight_result.rb +34 -25
- data/lib/algolia/models/search/highlight_result_option.rb +36 -21
- data/lib/algolia/models/search/hit.rb +24 -16
- data/lib/algolia/models/search/ignore_plurals.rb +33 -24
- data/lib/algolia/models/search/index_settings.rb +171 -97
- data/lib/algolia/models/search/index_settings_as_search_params.rb +134 -75
- data/lib/algolia/models/search/languages.rb +39 -24
- data/lib/algolia/models/search/list_api_keys_response.rb +33 -18
- data/lib/algolia/models/search/list_clusters_response.rb +33 -18
- data/lib/algolia/models/search/list_indices_response.rb +34 -19
- data/lib/algolia/models/search/list_user_ids_response.rb +33 -18
- data/lib/algolia/models/search/log.rb +70 -37
- data/lib/algolia/models/search/log_query.rb +31 -19
- data/lib/algolia/models/search/log_type.rb +2 -3
- data/lib/algolia/models/search/match_level.rb +2 -3
- data/lib/algolia/models/search/matched_geo_location.rb +35 -20
- data/lib/algolia/models/search/mode.rb +2 -3
- data/lib/algolia/models/search/multiple_batch_request.rb +35 -20
- data/lib/algolia/models/search/multiple_batch_response.rb +34 -19
- data/lib/algolia/models/search/numeric_filters.rb +33 -24
- data/lib/algolia/models/search/operation_index_params.rb +35 -20
- data/lib/algolia/models/search/operation_type.rb +2 -3
- data/lib/algolia/models/search/optional_filters.rb +33 -24
- data/lib/algolia/models/search/params.rb +32 -20
- data/lib/algolia/models/search/personalization.rb +35 -20
- data/lib/algolia/models/search/promote.rb +33 -24
- data/lib/algolia/models/search/promote_object_id.rb +34 -19
- data/lib/algolia/models/search/promote_object_ids.rb +36 -21
- data/lib/algolia/models/search/query_type.rb +2 -3
- data/lib/algolia/models/search/ranking_info.rb +76 -48
- data/lib/algolia/models/search/re_ranking_apply_filter.rb +33 -24
- data/lib/algolia/models/search/redirect.rb +30 -18
- data/lib/algolia/models/search/redirect_rule_index_metadata.rb +37 -22
- data/lib/algolia/models/search/redirect_rule_index_metadata_data.rb +33 -18
- data/lib/algolia/models/search/redirect_url.rb +212 -0
- data/lib/algolia/models/search/remove_stop_words.rb +33 -24
- data/lib/algolia/models/search/remove_user_id_response.rb +33 -18
- data/lib/algolia/models/search/remove_words_if_no_results.rb +2 -3
- data/lib/algolia/models/search/rendering_content.rb +45 -21
- data/lib/algolia/models/search/replace_all_objects_response.rb +35 -20
- data/lib/algolia/models/search/replace_source_response.rb +33 -18
- data/lib/algolia/models/search/rule.rb +37 -25
- data/lib/algolia/models/search/save_object_response.rb +35 -20
- data/lib/algolia/models/search/save_synonym_response.rb +35 -20
- data/lib/algolia/models/search/scope_type.rb +2 -3
- data/lib/algolia/models/search/search_dictionary_entries_params.rb +41 -26
- data/lib/algolia/models/search/search_dictionary_entries_response.rb +38 -23
- data/lib/algolia/models/search/search_for_facet_values_request.rb +37 -22
- data/lib/algolia/models/search/search_for_facet_values_response.rb +35 -20
- data/lib/algolia/models/search/search_for_facets.rb +218 -124
- data/lib/algolia/models/search/search_for_facets_options.rb +39 -24
- data/lib/algolia/models/search/search_for_hits.rb +214 -122
- data/lib/algolia/models/search/search_for_hits_options.rb +34 -19
- data/lib/algolia/models/search/search_hits.rb +26 -15
- data/lib/algolia/models/search/search_method_params.rb +34 -19
- data/lib/algolia/models/search/search_pagination.rb +282 -0
- data/lib/algolia/models/search/search_params.rb +33 -24
- data/lib/algolia/models/search/search_params_object.rb +208 -119
- data/lib/algolia/models/search/search_params_query.rb +33 -18
- data/lib/algolia/models/search/search_params_string.rb +33 -18
- data/lib/algolia/models/search/search_query.rb +33 -24
- data/lib/algolia/models/search/search_response.rb +154 -111
- data/lib/algolia/models/search/search_responses.rb +33 -18
- data/lib/algolia/models/search/search_result.rb +33 -24
- data/lib/algolia/models/search/search_rules_params.rb +45 -30
- data/lib/algolia/models/search/search_rules_response.rb +36 -21
- data/lib/algolia/models/search/search_strategy.rb +2 -3
- data/lib/algolia/models/search/search_synonyms_params.rb +41 -26
- data/lib/algolia/models/search/search_synonyms_response.rb +25 -14
- data/lib/algolia/models/search/search_type_default.rb +2 -3
- data/lib/algolia/models/search/search_type_facet.rb +2 -3
- data/lib/algolia/models/search/search_user_ids_params.rb +41 -26
- data/lib/algolia/models/search/search_user_ids_response.rb +42 -27
- data/lib/algolia/models/search/secured_api_key_restrictions.rb +38 -23
- data/lib/algolia/models/search/semantic_search.rb +35 -20
- data/lib/algolia/models/search/snippet_result.rb +34 -25
- data/lib/algolia/models/search/snippet_result_option.rb +34 -19
- data/lib/algolia/models/search/sort_remaining_by.rb +2 -3
- data/lib/algolia/models/search/source.rb +30 -18
- data/lib/algolia/models/search/standard_entries.rb +39 -24
- data/lib/algolia/models/search/supported_language.rb +72 -5
- data/lib/algolia/models/search/synonym_hit.rb +40 -25
- data/lib/algolia/models/search/synonym_type.rb +2 -3
- data/lib/algolia/models/search/tag_filters.rb +33 -24
- data/lib/algolia/models/search/task_status.rb +2 -3
- data/lib/algolia/models/search/time_range.rb +34 -19
- data/lib/algolia/models/search/typo_tolerance.rb +33 -24
- data/lib/algolia/models/search/typo_tolerance_enum.rb +2 -3
- data/lib/algolia/models/search/update_api_key_response.rb +34 -19
- data/lib/algolia/models/search/updated_at_response.rb +34 -19
- data/lib/algolia/models/search/updated_at_with_object_id_response.rb +35 -20
- data/lib/algolia/models/search/updated_rule_response.rb +35 -20
- data/lib/algolia/models/search/user_highlight_result.rb +34 -19
- data/lib/algolia/models/search/user_hit.rb +35 -23
- data/lib/algolia/models/search/user_id.rb +33 -21
- data/lib/algolia/models/search/value.rb +31 -19
- data/lib/algolia/models/usage/error_base.rb +24 -13
- data/lib/algolia/models/usage/get_usage200_response.rb +33 -18
- data/lib/algolia/models/usage/get_usage200_response_statistics_inner.rb +34 -19
- data/lib/algolia/models/usage/get_usage400_response.rb +33 -18
- data/lib/algolia/models/usage/get_usage400_response_error.rb +35 -20
- data/lib/algolia/models/usage/get_usage400_response_error_errors_inner.rb +36 -21
- data/lib/algolia/models/usage/granularity.rb +2 -3
- data/lib/algolia/models/usage/statistic.rb +88 -5
- data/lib/algolia/models/usage/statistic_value.rb +33 -24
- data/lib/algolia/transport/call_type.rb +1 -1
- data/lib/algolia/transport/echo_requester.rb +11 -2
- data/lib/algolia/transport/http/http_requester.rb +23 -15
- data/lib/algolia/transport/http/response.rb +8 -8
- data/lib/algolia/transport/request_options.rb +6 -4
- data/lib/algolia/transport/retry_outcome_type.rb +3 -3
- data/lib/algolia/transport/retry_strategy.rb +8 -7
- data/lib/algolia/transport/stateful_host.rb +6 -6
- data/lib/algolia/transport/transport.rb +27 -20
- data/lib/algolia/user_agent.rb +1 -1
- data/lib/algolia/version.rb +1 -1
- data/lib/algolia.rb +16 -16
- metadata +22 -13
- 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
|
4
|
-
require
|
3
|
+
require "date"
|
4
|
+
require "time"
|
5
5
|
|
6
6
|
module Algolia
|
7
7
|
module Recommend
|
@@ -67,45 +67,53 @@ module Algolia
|
|
67
67
|
# Attribute type mapping.
|
68
68
|
def self.types_mapping
|
69
69
|
{
|
70
|
-
:index_name => :String,
|
71
|
-
:threshold => :Float,
|
72
|
-
:max_recommendations => :Integer,
|
73
|
-
:query_parameters => :SearchParams,
|
74
|
-
:model => :LookingSimilarModel,
|
75
|
-
:object_id => :String,
|
76
|
-
:fallback_parameters => :FallbackParams
|
70
|
+
:index_name => :"String",
|
71
|
+
:threshold => :"Float",
|
72
|
+
:max_recommendations => :"Integer",
|
73
|
+
:query_parameters => :"SearchParams",
|
74
|
+
:model => :"LookingSimilarModel",
|
75
|
+
:object_id => :"String",
|
76
|
+
:fallback_parameters => :"FallbackParams"
|
77
77
|
}
|
78
78
|
end
|
79
79
|
|
80
80
|
# List of attributes with nullable: true
|
81
81
|
def self.openapi_nullable
|
82
|
-
Set.new(
|
82
|
+
Set.new(
|
83
|
+
[]
|
84
|
+
)
|
83
85
|
end
|
84
86
|
|
85
87
|
# List of class defined in allOf (OpenAPI v3)
|
86
88
|
def self.openapi_all_of
|
87
89
|
[
|
88
|
-
:BaseRecommendRequest,
|
89
|
-
:LookingSimilar
|
90
|
+
:"BaseRecommendRequest",
|
91
|
+
:"LookingSimilar"
|
90
92
|
]
|
91
93
|
end
|
92
94
|
|
93
95
|
# Initializes the object
|
94
96
|
# @param [Hash] attributes Model attributes in the form of hash
|
95
97
|
def initialize(attributes = {})
|
96
|
-
|
97
|
-
raise
|
98
|
+
if (!attributes.is_a?(Hash))
|
99
|
+
raise(
|
100
|
+
ArgumentError,
|
101
|
+
"The input argument (attributes) must be a hash in `Algolia::LookingSimilarQuery` initialize method"
|
102
|
+
)
|
98
103
|
end
|
99
104
|
|
100
105
|
# check to see if the attribute exists and convert string to symbol for hash key
|
101
|
-
attributes = attributes.each_with_object({})
|
102
|
-
|
103
|
-
raise
|
104
|
-
|
106
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
107
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
108
|
+
raise(
|
109
|
+
ArgumentError,
|
110
|
+
"`#{k}` is not a valid attribute in `Algolia::LookingSimilarQuery`. Please check the name to make sure it's valid. List of attributes: " +
|
111
|
+
self.class.attribute_map.keys.inspect
|
112
|
+
)
|
105
113
|
end
|
106
114
|
|
107
115
|
h[k.to_sym] = v
|
108
|
-
|
116
|
+
}
|
109
117
|
|
110
118
|
if attributes.key?(:index_name)
|
111
119
|
self.index_name = attributes[:index_name]
|
@@ -148,15 +156,15 @@ module Algolia
|
|
148
156
|
# @param [Object] threshold Value to be assigned
|
149
157
|
def threshold=(threshold)
|
150
158
|
if threshold.nil?
|
151
|
-
raise ArgumentError,
|
159
|
+
raise ArgumentError, "threshold cannot be nil"
|
152
160
|
end
|
153
161
|
|
154
162
|
if threshold > 100
|
155
|
-
raise ArgumentError,
|
163
|
+
raise ArgumentError, "invalid value for \"threshold\", must be smaller than or equal to 100."
|
156
164
|
end
|
157
165
|
|
158
166
|
if threshold < 0
|
159
|
-
raise ArgumentError,
|
167
|
+
raise ArgumentError, "invalid value for \"threshold\", must be greater than or equal to 0."
|
160
168
|
end
|
161
169
|
|
162
170
|
@threshold = threshold
|
@@ -166,15 +174,15 @@ module Algolia
|
|
166
174
|
# @param [Object] max_recommendations Value to be assigned
|
167
175
|
def max_recommendations=(max_recommendations)
|
168
176
|
if max_recommendations.nil?
|
169
|
-
raise ArgumentError,
|
177
|
+
raise ArgumentError, "max_recommendations cannot be nil"
|
170
178
|
end
|
171
179
|
|
172
180
|
if max_recommendations > 1000
|
173
|
-
raise ArgumentError,
|
181
|
+
raise ArgumentError, "invalid value for \"max_recommendations\", must be smaller than or equal to 1000."
|
174
182
|
end
|
175
183
|
|
176
184
|
if max_recommendations < 1
|
177
|
-
raise ArgumentError,
|
185
|
+
raise ArgumentError, "invalid value for \"max_recommendations\", must be greater than or equal to 1."
|
178
186
|
end
|
179
187
|
|
180
188
|
@max_recommendations = max_recommendations
|
@@ -183,8 +191,7 @@ module Algolia
|
|
183
191
|
# Checks equality by comparing each attribute.
|
184
192
|
# @param [Object] Object to be compared
|
185
193
|
def ==(other)
|
186
|
-
return true if equal?(other)
|
187
|
-
|
194
|
+
return true if self.equal?(other)
|
188
195
|
self.class == other.class &&
|
189
196
|
index_name == other.index_name &&
|
190
197
|
threshold == other.threshold &&
|
@@ -212,7 +219,6 @@ module Algolia
|
|
212
219
|
# @return [Object] Returns the model itself
|
213
220
|
def self.build_from_hash(attributes)
|
214
221
|
return nil unless attributes.is_a?(Hash)
|
215
|
-
|
216
222
|
attributes = attributes.transform_keys(&:to_sym)
|
217
223
|
transformed_hash = {}
|
218
224
|
types_mapping.each_pair do |key, type|
|
@@ -222,12 +228,15 @@ module Algolia
|
|
222
228
|
# check to ensure the input is an array given that the attribute
|
223
229
|
# is documented as an array but the input is not
|
224
230
|
if attributes[attribute_map[key]].is_a?(Array)
|
225
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
231
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
232
|
+
_deserialize(::Regexp.last_match(1), v)
|
233
|
+
}
|
226
234
|
end
|
227
235
|
elsif !attributes[attribute_map[key]].nil?
|
228
236
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
229
237
|
end
|
230
238
|
end
|
239
|
+
|
231
240
|
new(transformed_hash)
|
232
241
|
end
|
233
242
|
|
@@ -253,6 +262,7 @@ module Algolia
|
|
253
262
|
else
|
254
263
|
false
|
255
264
|
end
|
265
|
+
|
256
266
|
when :Object
|
257
267
|
# generic object (usually a Hash), return directly
|
258
268
|
value
|
@@ -267,10 +277,12 @@ module Algolia
|
|
267
277
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
268
278
|
end
|
269
279
|
end
|
270
|
-
|
280
|
+
# model
|
281
|
+
else
|
271
282
|
# models (e.g. Pet) or oneOf
|
272
283
|
klass = Algolia::Recommend.const_get(type)
|
273
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
284
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
285
|
+
.build_from_hash(value)
|
274
286
|
end
|
275
287
|
end
|
276
288
|
|
@@ -303,6 +315,7 @@ module Algolia
|
|
303
315
|
|
304
316
|
hash[param] = _to_hash(value)
|
305
317
|
end
|
318
|
+
|
306
319
|
hash
|
307
320
|
end
|
308
321
|
|
@@ -317,12 +330,14 @@ module Algolia
|
|
317
330
|
{}.tap do |hash|
|
318
331
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
319
332
|
end
|
320
|
-
elsif value.respond_to?
|
333
|
+
elsif value.respond_to?(:to_hash)
|
321
334
|
value.to_hash
|
322
335
|
else
|
323
336
|
value
|
324
337
|
end
|
325
338
|
end
|
339
|
+
|
326
340
|
end
|
341
|
+
|
327
342
|
end
|
328
343
|
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
|
4
|
-
require
|
3
|
+
require "date"
|
4
|
+
require "time"
|
5
5
|
|
6
6
|
module Algolia
|
7
7
|
module Recommend
|
@@ -26,7 +26,6 @@ module Algolia
|
|
26
26
|
# @return [String] The enum value
|
27
27
|
def build_from_hash(value)
|
28
28
|
return value if MatchLevel.all_vars.include?(value)
|
29
|
-
|
30
29
|
raise "Invalid ENUM value #{value} for class #MatchLevel"
|
31
30
|
end
|
32
31
|
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
|
4
|
-
require
|
3
|
+
require "date"
|
4
|
+
require "time"
|
5
5
|
|
6
6
|
module Algolia
|
7
7
|
module Recommend
|
@@ -32,33 +32,41 @@ module Algolia
|
|
32
32
|
# Attribute type mapping.
|
33
33
|
def self.types_mapping
|
34
34
|
{
|
35
|
-
:lat => :Float,
|
36
|
-
:lng => :Float,
|
37
|
-
:distance => :Integer
|
35
|
+
:lat => :"Float",
|
36
|
+
:lng => :"Float",
|
37
|
+
:distance => :"Integer"
|
38
38
|
}
|
39
39
|
end
|
40
40
|
|
41
41
|
# List of attributes with nullable: true
|
42
42
|
def self.openapi_nullable
|
43
|
-
Set.new(
|
43
|
+
Set.new(
|
44
|
+
[]
|
45
|
+
)
|
44
46
|
end
|
45
47
|
|
46
48
|
# Initializes the object
|
47
49
|
# @param [Hash] attributes Model attributes in the form of hash
|
48
50
|
def initialize(attributes = {})
|
49
|
-
|
50
|
-
raise
|
51
|
+
if (!attributes.is_a?(Hash))
|
52
|
+
raise(
|
53
|
+
ArgumentError,
|
54
|
+
"The input argument (attributes) must be a hash in `Algolia::MatchedGeoLocation` initialize method"
|
55
|
+
)
|
51
56
|
end
|
52
57
|
|
53
58
|
# check to see if the attribute exists and convert string to symbol for hash key
|
54
|
-
attributes = attributes.each_with_object({})
|
55
|
-
|
56
|
-
raise
|
57
|
-
|
59
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
60
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
61
|
+
raise(
|
62
|
+
ArgumentError,
|
63
|
+
"`#{k}` is not a valid attribute in `Algolia::MatchedGeoLocation`. Please check the name to make sure it's valid. List of attributes: " +
|
64
|
+
self.class.attribute_map.keys.inspect
|
65
|
+
)
|
58
66
|
end
|
59
67
|
|
60
68
|
h[k.to_sym] = v
|
61
|
-
|
69
|
+
}
|
62
70
|
|
63
71
|
if attributes.key?(:lat)
|
64
72
|
self.lat = attributes[:lat]
|
@@ -76,8 +84,7 @@ module Algolia
|
|
76
84
|
# Checks equality by comparing each attribute.
|
77
85
|
# @param [Object] Object to be compared
|
78
86
|
def ==(other)
|
79
|
-
return true if equal?(other)
|
80
|
-
|
87
|
+
return true if self.equal?(other)
|
81
88
|
self.class == other.class &&
|
82
89
|
lat == other.lat &&
|
83
90
|
lng == other.lng &&
|
@@ -101,7 +108,6 @@ module Algolia
|
|
101
108
|
# @return [Object] Returns the model itself
|
102
109
|
def self.build_from_hash(attributes)
|
103
110
|
return nil unless attributes.is_a?(Hash)
|
104
|
-
|
105
111
|
attributes = attributes.transform_keys(&:to_sym)
|
106
112
|
transformed_hash = {}
|
107
113
|
types_mapping.each_pair do |key, type|
|
@@ -111,12 +117,15 @@ module Algolia
|
|
111
117
|
# check to ensure the input is an array given that the attribute
|
112
118
|
# is documented as an array but the input is not
|
113
119
|
if attributes[attribute_map[key]].is_a?(Array)
|
114
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
120
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
121
|
+
_deserialize(::Regexp.last_match(1), v)
|
122
|
+
}
|
115
123
|
end
|
116
124
|
elsif !attributes[attribute_map[key]].nil?
|
117
125
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
118
126
|
end
|
119
127
|
end
|
128
|
+
|
120
129
|
new(transformed_hash)
|
121
130
|
end
|
122
131
|
|
@@ -142,6 +151,7 @@ module Algolia
|
|
142
151
|
else
|
143
152
|
false
|
144
153
|
end
|
154
|
+
|
145
155
|
when :Object
|
146
156
|
# generic object (usually a Hash), return directly
|
147
157
|
value
|
@@ -156,10 +166,12 @@ module Algolia
|
|
156
166
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
157
167
|
end
|
158
168
|
end
|
159
|
-
|
169
|
+
# model
|
170
|
+
else
|
160
171
|
# models (e.g. Pet) or oneOf
|
161
172
|
klass = Algolia::Recommend.const_get(type)
|
162
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
173
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
174
|
+
.build_from_hash(value)
|
163
175
|
end
|
164
176
|
end
|
165
177
|
|
@@ -192,6 +204,7 @@ module Algolia
|
|
192
204
|
|
193
205
|
hash[param] = _to_hash(value)
|
194
206
|
end
|
207
|
+
|
195
208
|
hash
|
196
209
|
end
|
197
210
|
|
@@ -206,12 +219,14 @@ module Algolia
|
|
206
219
|
{}.tap do |hash|
|
207
220
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
208
221
|
end
|
209
|
-
elsif value.respond_to?
|
222
|
+
elsif value.respond_to?(:to_hash)
|
210
223
|
value.to_hash
|
211
224
|
else
|
212
225
|
value
|
213
226
|
end
|
214
227
|
end
|
228
|
+
|
215
229
|
end
|
230
|
+
|
216
231
|
end
|
217
232
|
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
|
4
|
-
require
|
3
|
+
require "date"
|
4
|
+
require "time"
|
5
5
|
|
6
6
|
module Algolia
|
7
7
|
module Recommend
|
@@ -25,7 +25,6 @@ module Algolia
|
|
25
25
|
# @return [String] The enum value
|
26
26
|
def build_from_hash(value)
|
27
27
|
return value if Mode.all_vars.include?(value)
|
28
|
-
|
29
28
|
raise "Invalid ENUM value #{value} for class #Mode"
|
30
29
|
end
|
31
30
|
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
|
4
|
-
require
|
3
|
+
require "date"
|
4
|
+
require "time"
|
5
5
|
|
6
6
|
module Algolia
|
7
7
|
module Recommend
|
8
8
|
# Filter by numeric facets. **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** You can use numeric comparison operators: `<`, `<=`, `=`, `!=`, `>`, `>=`. Comparsions are precise up to 3 decimals. You can also provide ranges: `facet:<lower> TO <upper>`. The range includes the lower and upper boundaries. The same combination rules apply as for `facetFilters`.
|
9
9
|
module NumericFilters
|
10
10
|
class << self
|
11
|
-
|
11
|
+
# List of class defined in oneOf (OpenAPI v3)
|
12
12
|
def openapi_one_of
|
13
13
|
[
|
14
|
-
:
|
15
|
-
:String
|
14
|
+
:"Array<NumericFilters>",
|
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
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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
|
-
#
|
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
|
53
|
+
when "Boolean"
|
51
54
|
return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
|
52
|
-
when
|
55
|
+
when "Float"
|
53
56
|
return data if data.instance_of?(Float)
|
54
|
-
when
|
57
|
+
when "Integer"
|
55
58
|
return data if data.instance_of?(Integer)
|
56
|
-
when
|
59
|
+
when "Time"
|
57
60
|
return Time.parse(data)
|
58
|
-
when
|
61
|
+
when "Date"
|
59
62
|
return Date.parse(data)
|
60
|
-
when
|
63
|
+
when "String"
|
61
64
|
return data if data.instance_of?(String)
|
62
|
-
|
65
|
+
# "type: object"
|
66
|
+
when "Object"
|
63
67
|
return data if data.instance_of?(Hash)
|
64
|
-
|
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
|
-
|
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
|
-
|
80
|
+
# model
|
81
|
+
else
|
75
82
|
const = Algolia::Recommend.const_get(klass)
|
76
83
|
if const
|
77
|
-
|
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
|
-
|
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
|
@@ -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
|
4
|
-
require
|
3
|
+
require "date"
|
4
|
+
require "time"
|
5
5
|
|
6
6
|
module Algolia
|
7
7
|
module Recommend
|
8
8
|
# Filters to promote or demote records in the search results. Optional filters work like facet filters, but they don't exclude records from the search results. Records that match the optional filter rank before records that don't match. If you're using a negative filter `facet:-value`, matching records rank after records that don't match. - Optional filters don't work on virtual replicas. - Optional filters are applied _after_ sort-by attributes. - Optional filters don't work with numeric attributes.
|
9
9
|
module OptionalFilters
|
10
10
|
class << self
|
11
|
-
|
11
|
+
# List of class defined in oneOf (OpenAPI v3)
|
12
12
|
def openapi_one_of
|
13
13
|
[
|
14
|
-
:
|
15
|
-
:String
|
14
|
+
:"Array<OptionalFilters>",
|
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
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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
|
-
#
|
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
|
53
|
+
when "Boolean"
|
51
54
|
return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
|
52
|
-
when
|
55
|
+
when "Float"
|
53
56
|
return data if data.instance_of?(Float)
|
54
|
-
when
|
57
|
+
when "Integer"
|
55
58
|
return data if data.instance_of?(Integer)
|
56
|
-
when
|
59
|
+
when "Time"
|
57
60
|
return Time.parse(data)
|
58
|
-
when
|
61
|
+
when "Date"
|
59
62
|
return Date.parse(data)
|
60
|
-
when
|
63
|
+
when "String"
|
61
64
|
return data if data.instance_of?(String)
|
62
|
-
|
65
|
+
# "type: object"
|
66
|
+
when "Object"
|
63
67
|
return data if data.instance_of?(Hash)
|
64
|
-
|
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
|
-
|
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
|
-
|
80
|
+
# model
|
81
|
+
else
|
75
82
|
const = Algolia::Recommend.const_get(klass)
|
76
83
|
if const
|
77
|
-
|
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
|
-
|
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
|