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.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +2 -0
- data/CHANGELOG.md +8 -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 +29 -17
- 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/recommend/redirect_url.rb +33 -18
- 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 +34 -19
- 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/{ingestion/schedule_date_utils_input.rb → search/browse_pagination.rb} +92 -45
- 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 +29 -17
- 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 +33 -18
- 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 +34 -19
- 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 +20 -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 Search
|
|
@@ -28,32 +28,40 @@ module Algolia
|
|
|
28
28
|
# Attribute type mapping.
|
|
29
29
|
def self.types_mapping
|
|
30
30
|
{
|
|
31
|
-
:value => :String,
|
|
32
|
-
:created_at => :Integer
|
|
31
|
+
:value => :"String",
|
|
32
|
+
:created_at => :"Integer"
|
|
33
33
|
}
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
# List of attributes with nullable: true
|
|
37
37
|
def self.openapi_nullable
|
|
38
|
-
Set.new(
|
|
38
|
+
Set.new(
|
|
39
|
+
[]
|
|
40
|
+
)
|
|
39
41
|
end
|
|
40
42
|
|
|
41
43
|
# Initializes the object
|
|
42
44
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
43
45
|
def initialize(attributes = {})
|
|
44
|
-
|
|
45
|
-
raise
|
|
46
|
+
if (!attributes.is_a?(Hash))
|
|
47
|
+
raise(
|
|
48
|
+
ArgumentError,
|
|
49
|
+
"The input argument (attributes) must be a hash in `Algolia::BaseGetApiKeyResponse` initialize method"
|
|
50
|
+
)
|
|
46
51
|
end
|
|
47
52
|
|
|
48
53
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
49
|
-
attributes = attributes.each_with_object({})
|
|
50
|
-
|
|
51
|
-
raise
|
|
52
|
-
|
|
54
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
55
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
56
|
+
raise(
|
|
57
|
+
ArgumentError,
|
|
58
|
+
"`#{k}` is not a valid attribute in `Algolia::BaseGetApiKeyResponse`. Please check the name to make sure it's valid. List of attributes: " +
|
|
59
|
+
self.class.attribute_map.keys.inspect
|
|
60
|
+
)
|
|
53
61
|
end
|
|
54
62
|
|
|
55
63
|
h[k.to_sym] = v
|
|
56
|
-
|
|
64
|
+
}
|
|
57
65
|
|
|
58
66
|
if attributes.key?(:value)
|
|
59
67
|
self.value = attributes[:value]
|
|
@@ -69,8 +77,7 @@ module Algolia
|
|
|
69
77
|
# Checks equality by comparing each attribute.
|
|
70
78
|
# @param [Object] Object to be compared
|
|
71
79
|
def ==(other)
|
|
72
|
-
return true if equal?(other)
|
|
73
|
-
|
|
80
|
+
return true if self.equal?(other)
|
|
74
81
|
self.class == other.class &&
|
|
75
82
|
value == other.value &&
|
|
76
83
|
created_at == other.created_at
|
|
@@ -93,7 +100,6 @@ module Algolia
|
|
|
93
100
|
# @return [Object] Returns the model itself
|
|
94
101
|
def self.build_from_hash(attributes)
|
|
95
102
|
return nil unless attributes.is_a?(Hash)
|
|
96
|
-
|
|
97
103
|
attributes = attributes.transform_keys(&:to_sym)
|
|
98
104
|
transformed_hash = {}
|
|
99
105
|
types_mapping.each_pair do |key, type|
|
|
@@ -103,12 +109,15 @@ module Algolia
|
|
|
103
109
|
# check to ensure the input is an array given that the attribute
|
|
104
110
|
# is documented as an array but the input is not
|
|
105
111
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
106
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
112
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
113
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
114
|
+
}
|
|
107
115
|
end
|
|
108
116
|
elsif !attributes[attribute_map[key]].nil?
|
|
109
117
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
110
118
|
end
|
|
111
119
|
end
|
|
120
|
+
|
|
112
121
|
new(transformed_hash)
|
|
113
122
|
end
|
|
114
123
|
|
|
@@ -134,6 +143,7 @@ module Algolia
|
|
|
134
143
|
else
|
|
135
144
|
false
|
|
136
145
|
end
|
|
146
|
+
|
|
137
147
|
when :Object
|
|
138
148
|
# generic object (usually a Hash), return directly
|
|
139
149
|
value
|
|
@@ -148,10 +158,12 @@ module Algolia
|
|
|
148
158
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
149
159
|
end
|
|
150
160
|
end
|
|
151
|
-
|
|
161
|
+
# model
|
|
162
|
+
else
|
|
152
163
|
# models (e.g. Pet) or oneOf
|
|
153
164
|
klass = Algolia::Search.const_get(type)
|
|
154
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
165
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
166
|
+
.build_from_hash(value)
|
|
155
167
|
end
|
|
156
168
|
end
|
|
157
169
|
|
|
@@ -184,6 +196,7 @@ module Algolia
|
|
|
184
196
|
|
|
185
197
|
hash[param] = _to_hash(value)
|
|
186
198
|
end
|
|
199
|
+
|
|
187
200
|
hash
|
|
188
201
|
end
|
|
189
202
|
|
|
@@ -198,12 +211,14 @@ module Algolia
|
|
|
198
211
|
{}.tap do |hash|
|
|
199
212
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
200
213
|
end
|
|
201
|
-
elsif value.respond_to?
|
|
214
|
+
elsif value.respond_to?(:to_hash)
|
|
202
215
|
value.to_hash
|
|
203
216
|
else
|
|
204
217
|
value
|
|
205
218
|
end
|
|
206
219
|
end
|
|
220
|
+
|
|
207
221
|
end
|
|
222
|
+
|
|
208
223
|
end
|
|
209
224
|
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 Search
|
|
@@ -88,47 +88,55 @@ module Algolia
|
|
|
88
88
|
# Attribute type mapping.
|
|
89
89
|
def self.types_mapping
|
|
90
90
|
{
|
|
91
|
-
:attributes_for_faceting => :
|
|
92
|
-
:replicas => :
|
|
93
|
-
:pagination_limited_to => :Integer,
|
|
94
|
-
:unretrievable_attributes => :
|
|
95
|
-
:disable_typo_tolerance_on_words => :
|
|
96
|
-
:attributes_to_transliterate => :
|
|
97
|
-
:camel_case_attributes => :
|
|
98
|
-
:decompounded_attributes => :Object,
|
|
99
|
-
:index_languages => :
|
|
100
|
-
:disable_prefix_on_attributes => :
|
|
101
|
-
:allow_compression_of_integer_array => :Boolean,
|
|
102
|
-
:numeric_attributes_for_filtering => :
|
|
103
|
-
:separators_to_index => :String,
|
|
104
|
-
:searchable_attributes => :
|
|
105
|
-
:user_data => :Object,
|
|
106
|
-
:custom_normalization => :
|
|
107
|
-
:attribute_for_distinct => :String
|
|
91
|
+
:attributes_for_faceting => :"Array<String>",
|
|
92
|
+
:replicas => :"Array<String>",
|
|
93
|
+
:pagination_limited_to => :"Integer",
|
|
94
|
+
:unretrievable_attributes => :"Array<String>",
|
|
95
|
+
:disable_typo_tolerance_on_words => :"Array<String>",
|
|
96
|
+
:attributes_to_transliterate => :"Array<String>",
|
|
97
|
+
:camel_case_attributes => :"Array<String>",
|
|
98
|
+
:decompounded_attributes => :"Object",
|
|
99
|
+
:index_languages => :"Array<SupportedLanguage>",
|
|
100
|
+
:disable_prefix_on_attributes => :"Array<String>",
|
|
101
|
+
:allow_compression_of_integer_array => :"Boolean",
|
|
102
|
+
:numeric_attributes_for_filtering => :"Array<String>",
|
|
103
|
+
:separators_to_index => :"String",
|
|
104
|
+
:searchable_attributes => :"Array<String>",
|
|
105
|
+
:user_data => :"Object",
|
|
106
|
+
:custom_normalization => :"Hash<String, Hash<String, String>>",
|
|
107
|
+
:attribute_for_distinct => :"String"
|
|
108
108
|
}
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
# List of attributes with nullable: true
|
|
112
112
|
def self.openapi_nullable
|
|
113
|
-
Set.new(
|
|
113
|
+
Set.new(
|
|
114
|
+
[]
|
|
115
|
+
)
|
|
114
116
|
end
|
|
115
117
|
|
|
116
118
|
# Initializes the object
|
|
117
119
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
118
120
|
def initialize(attributes = {})
|
|
119
|
-
|
|
120
|
-
raise
|
|
121
|
+
if (!attributes.is_a?(Hash))
|
|
122
|
+
raise(
|
|
123
|
+
ArgumentError,
|
|
124
|
+
"The input argument (attributes) must be a hash in `Algolia::BaseIndexSettings` initialize method"
|
|
125
|
+
)
|
|
121
126
|
end
|
|
122
127
|
|
|
123
128
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
124
|
-
attributes = attributes.each_with_object({})
|
|
125
|
-
|
|
126
|
-
raise
|
|
127
|
-
|
|
129
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
130
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
131
|
+
raise(
|
|
132
|
+
ArgumentError,
|
|
133
|
+
"`#{k}` is not a valid attribute in `Algolia::BaseIndexSettings`. Please check the name to make sure it's valid. List of attributes: " +
|
|
134
|
+
self.class.attribute_map.keys.inspect
|
|
135
|
+
)
|
|
128
136
|
end
|
|
129
137
|
|
|
130
138
|
h[k.to_sym] = v
|
|
131
|
-
|
|
139
|
+
}
|
|
132
140
|
|
|
133
141
|
if attributes.key?(:attributes_for_faceting)
|
|
134
142
|
if (value = attributes[:attributes_for_faceting]).is_a?(Array)
|
|
@@ -225,11 +233,11 @@ module Algolia
|
|
|
225
233
|
# @param [Object] pagination_limited_to Value to be assigned
|
|
226
234
|
def pagination_limited_to=(pagination_limited_to)
|
|
227
235
|
if pagination_limited_to.nil?
|
|
228
|
-
raise ArgumentError,
|
|
236
|
+
raise ArgumentError, "pagination_limited_to cannot be nil"
|
|
229
237
|
end
|
|
230
238
|
|
|
231
|
-
if pagination_limited_to >
|
|
232
|
-
raise ArgumentError,
|
|
239
|
+
if pagination_limited_to > 20000
|
|
240
|
+
raise ArgumentError, "invalid value for \"pagination_limited_to\", must be smaller than or equal to 20000."
|
|
233
241
|
end
|
|
234
242
|
|
|
235
243
|
@pagination_limited_to = pagination_limited_to
|
|
@@ -238,8 +246,7 @@ module Algolia
|
|
|
238
246
|
# Checks equality by comparing each attribute.
|
|
239
247
|
# @param [Object] Object to be compared
|
|
240
248
|
def ==(other)
|
|
241
|
-
return true if equal?(other)
|
|
242
|
-
|
|
249
|
+
return true if self.equal?(other)
|
|
243
250
|
self.class == other.class &&
|
|
244
251
|
attributes_for_faceting == other.attributes_for_faceting &&
|
|
245
252
|
replicas == other.replicas &&
|
|
@@ -269,8 +276,25 @@ module Algolia
|
|
|
269
276
|
# Calculates hash code according to all attributes.
|
|
270
277
|
# @return [Integer] Hash code
|
|
271
278
|
def hash
|
|
272
|
-
[
|
|
273
|
-
|
|
279
|
+
[
|
|
280
|
+
attributes_for_faceting,
|
|
281
|
+
replicas,
|
|
282
|
+
pagination_limited_to,
|
|
283
|
+
unretrievable_attributes,
|
|
284
|
+
disable_typo_tolerance_on_words,
|
|
285
|
+
attributes_to_transliterate,
|
|
286
|
+
camel_case_attributes,
|
|
287
|
+
decompounded_attributes,
|
|
288
|
+
index_languages,
|
|
289
|
+
disable_prefix_on_attributes,
|
|
290
|
+
allow_compression_of_integer_array,
|
|
291
|
+
numeric_attributes_for_filtering,
|
|
292
|
+
separators_to_index,
|
|
293
|
+
searchable_attributes,
|
|
294
|
+
user_data,
|
|
295
|
+
custom_normalization,
|
|
296
|
+
attribute_for_distinct
|
|
297
|
+
].hash
|
|
274
298
|
end
|
|
275
299
|
|
|
276
300
|
# Builds the object from hash
|
|
@@ -278,7 +302,6 @@ module Algolia
|
|
|
278
302
|
# @return [Object] Returns the model itself
|
|
279
303
|
def self.build_from_hash(attributes)
|
|
280
304
|
return nil unless attributes.is_a?(Hash)
|
|
281
|
-
|
|
282
305
|
attributes = attributes.transform_keys(&:to_sym)
|
|
283
306
|
transformed_hash = {}
|
|
284
307
|
types_mapping.each_pair do |key, type|
|
|
@@ -288,12 +311,15 @@ module Algolia
|
|
|
288
311
|
# check to ensure the input is an array given that the attribute
|
|
289
312
|
# is documented as an array but the input is not
|
|
290
313
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
291
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
314
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
315
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
316
|
+
}
|
|
292
317
|
end
|
|
293
318
|
elsif !attributes[attribute_map[key]].nil?
|
|
294
319
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
295
320
|
end
|
|
296
321
|
end
|
|
322
|
+
|
|
297
323
|
new(transformed_hash)
|
|
298
324
|
end
|
|
299
325
|
|
|
@@ -319,6 +345,7 @@ module Algolia
|
|
|
319
345
|
else
|
|
320
346
|
false
|
|
321
347
|
end
|
|
348
|
+
|
|
322
349
|
when :Object
|
|
323
350
|
# generic object (usually a Hash), return directly
|
|
324
351
|
value
|
|
@@ -333,10 +360,12 @@ module Algolia
|
|
|
333
360
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
334
361
|
end
|
|
335
362
|
end
|
|
336
|
-
|
|
363
|
+
# model
|
|
364
|
+
else
|
|
337
365
|
# models (e.g. Pet) or oneOf
|
|
338
366
|
klass = Algolia::Search.const_get(type)
|
|
339
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
367
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
368
|
+
.build_from_hash(value)
|
|
340
369
|
end
|
|
341
370
|
end
|
|
342
371
|
|
|
@@ -369,6 +398,7 @@ module Algolia
|
|
|
369
398
|
|
|
370
399
|
hash[param] = _to_hash(value)
|
|
371
400
|
end
|
|
401
|
+
|
|
372
402
|
hash
|
|
373
403
|
end
|
|
374
404
|
|
|
@@ -383,12 +413,14 @@ module Algolia
|
|
|
383
413
|
{}.tap do |hash|
|
|
384
414
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
385
415
|
end
|
|
386
|
-
elsif value.respond_to?
|
|
416
|
+
elsif value.respond_to?(:to_hash)
|
|
387
417
|
value.to_hash
|
|
388
418
|
else
|
|
389
419
|
value
|
|
390
420
|
end
|
|
391
421
|
end
|
|
422
|
+
|
|
392
423
|
end
|
|
424
|
+
|
|
393
425
|
end
|
|
394
426
|
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 Search
|
|
@@ -142,70 +142,78 @@ module Algolia
|
|
|
142
142
|
# Attribute type mapping.
|
|
143
143
|
def self.types_mapping
|
|
144
144
|
{
|
|
145
|
-
:query => :String,
|
|
146
|
-
:similar_query => :String,
|
|
147
|
-
:filters => :String,
|
|
148
|
-
:facet_filters => :FacetFilters,
|
|
149
|
-
:optional_filters => :OptionalFilters,
|
|
150
|
-
:numeric_filters => :NumericFilters,
|
|
151
|
-
:tag_filters => :TagFilters,
|
|
152
|
-
:sum_or_filters_scores => :Boolean,
|
|
153
|
-
:restrict_searchable_attributes => :
|
|
154
|
-
:facets => :
|
|
155
|
-
:faceting_after_distinct => :Boolean,
|
|
156
|
-
:page => :Integer,
|
|
157
|
-
:offset => :Integer,
|
|
158
|
-
:length => :Integer,
|
|
159
|
-
:around_lat_lng => :String,
|
|
160
|
-
:around_lat_lng_via_ip => :Boolean,
|
|
161
|
-
:around_radius => :AroundRadius,
|
|
162
|
-
:around_precision => :AroundPrecision,
|
|
163
|
-
:minimum_around_radius => :Integer,
|
|
164
|
-
:inside_bounding_box => :
|
|
165
|
-
:inside_polygon => :
|
|
166
|
-
:natural_languages => :
|
|
167
|
-
:rule_contexts => :
|
|
168
|
-
:personalization_impact => :Integer,
|
|
169
|
-
:user_token => :String,
|
|
170
|
-
:get_ranking_info => :Boolean,
|
|
171
|
-
:synonyms => :Boolean,
|
|
172
|
-
:click_analytics => :Boolean,
|
|
173
|
-
:analytics => :Boolean,
|
|
174
|
-
:analytics_tags => :
|
|
175
|
-
:percentile_computation => :Boolean,
|
|
176
|
-
:enable_ab_test => :Boolean
|
|
145
|
+
:query => :"String",
|
|
146
|
+
:similar_query => :"String",
|
|
147
|
+
:filters => :"String",
|
|
148
|
+
:facet_filters => :"FacetFilters",
|
|
149
|
+
:optional_filters => :"OptionalFilters",
|
|
150
|
+
:numeric_filters => :"NumericFilters",
|
|
151
|
+
:tag_filters => :"TagFilters",
|
|
152
|
+
:sum_or_filters_scores => :"Boolean",
|
|
153
|
+
:restrict_searchable_attributes => :"Array<String>",
|
|
154
|
+
:facets => :"Array<String>",
|
|
155
|
+
:faceting_after_distinct => :"Boolean",
|
|
156
|
+
:page => :"Integer",
|
|
157
|
+
:offset => :"Integer",
|
|
158
|
+
:length => :"Integer",
|
|
159
|
+
:around_lat_lng => :"String",
|
|
160
|
+
:around_lat_lng_via_ip => :"Boolean",
|
|
161
|
+
:around_radius => :"AroundRadius",
|
|
162
|
+
:around_precision => :"AroundPrecision",
|
|
163
|
+
:minimum_around_radius => :"Integer",
|
|
164
|
+
:inside_bounding_box => :"Array<Array<Float>>",
|
|
165
|
+
:inside_polygon => :"Array<Array<Float>>",
|
|
166
|
+
:natural_languages => :"Array<SupportedLanguage>",
|
|
167
|
+
:rule_contexts => :"Array<String>",
|
|
168
|
+
:personalization_impact => :"Integer",
|
|
169
|
+
:user_token => :"String",
|
|
170
|
+
:get_ranking_info => :"Boolean",
|
|
171
|
+
:synonyms => :"Boolean",
|
|
172
|
+
:click_analytics => :"Boolean",
|
|
173
|
+
:analytics => :"Boolean",
|
|
174
|
+
:analytics_tags => :"Array<String>",
|
|
175
|
+
:percentile_computation => :"Boolean",
|
|
176
|
+
:enable_ab_test => :"Boolean"
|
|
177
177
|
}
|
|
178
178
|
end
|
|
179
179
|
|
|
180
180
|
# List of attributes with nullable: true
|
|
181
181
|
def self.openapi_nullable
|
|
182
|
-
Set.new(
|
|
182
|
+
Set.new(
|
|
183
|
+
[]
|
|
184
|
+
)
|
|
183
185
|
end
|
|
184
186
|
|
|
185
187
|
# List of class defined in allOf (OpenAPI v3)
|
|
186
188
|
def self.openapi_all_of
|
|
187
189
|
[
|
|
188
|
-
:BaseSearchParamsWithoutQuery,
|
|
189
|
-
:SearchParamsQuery
|
|
190
|
+
:"BaseSearchParamsWithoutQuery",
|
|
191
|
+
:"SearchParamsQuery"
|
|
190
192
|
]
|
|
191
193
|
end
|
|
192
194
|
|
|
193
195
|
# Initializes the object
|
|
194
196
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
195
197
|
def initialize(attributes = {})
|
|
196
|
-
|
|
197
|
-
raise
|
|
198
|
+
if (!attributes.is_a?(Hash))
|
|
199
|
+
raise(
|
|
200
|
+
ArgumentError,
|
|
201
|
+
"The input argument (attributes) must be a hash in `Algolia::BaseSearchParams` initialize method"
|
|
202
|
+
)
|
|
198
203
|
end
|
|
199
204
|
|
|
200
205
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
201
|
-
attributes = attributes.each_with_object({})
|
|
202
|
-
|
|
203
|
-
raise
|
|
204
|
-
|
|
206
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
207
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
208
|
+
raise(
|
|
209
|
+
ArgumentError,
|
|
210
|
+
"`#{k}` is not a valid attribute in `Algolia::BaseSearchParams`. Please check the name to make sure it's valid. List of attributes: " +
|
|
211
|
+
self.class.attribute_map.keys.inspect
|
|
212
|
+
)
|
|
205
213
|
end
|
|
206
214
|
|
|
207
215
|
h[k.to_sym] = v
|
|
208
|
-
|
|
216
|
+
}
|
|
209
217
|
|
|
210
218
|
if attributes.key?(:query)
|
|
211
219
|
self.query = attributes[:query]
|
|
@@ -354,11 +362,11 @@ module Algolia
|
|
|
354
362
|
# @param [Object] page Value to be assigned
|
|
355
363
|
def page=(page)
|
|
356
364
|
if page.nil?
|
|
357
|
-
raise ArgumentError,
|
|
365
|
+
raise ArgumentError, "page cannot be nil"
|
|
358
366
|
end
|
|
359
367
|
|
|
360
368
|
if page < 0
|
|
361
|
-
raise ArgumentError,
|
|
369
|
+
raise ArgumentError, "invalid value for \"page\", must be greater than or equal to 0."
|
|
362
370
|
end
|
|
363
371
|
|
|
364
372
|
@page = page
|
|
@@ -368,15 +376,15 @@ module Algolia
|
|
|
368
376
|
# @param [Object] length Value to be assigned
|
|
369
377
|
def length=(length)
|
|
370
378
|
if length.nil?
|
|
371
|
-
raise ArgumentError,
|
|
379
|
+
raise ArgumentError, "length cannot be nil"
|
|
372
380
|
end
|
|
373
381
|
|
|
374
382
|
if length > 1000
|
|
375
|
-
raise ArgumentError,
|
|
383
|
+
raise ArgumentError, "invalid value for \"length\", must be smaller than or equal to 1000."
|
|
376
384
|
end
|
|
377
385
|
|
|
378
386
|
if length < 1
|
|
379
|
-
raise ArgumentError,
|
|
387
|
+
raise ArgumentError, "invalid value for \"length\", must be greater than or equal to 1."
|
|
380
388
|
end
|
|
381
389
|
|
|
382
390
|
@length = length
|
|
@@ -386,11 +394,11 @@ module Algolia
|
|
|
386
394
|
# @param [Object] minimum_around_radius Value to be assigned
|
|
387
395
|
def minimum_around_radius=(minimum_around_radius)
|
|
388
396
|
if minimum_around_radius.nil?
|
|
389
|
-
raise ArgumentError,
|
|
397
|
+
raise ArgumentError, "minimum_around_radius cannot be nil"
|
|
390
398
|
end
|
|
391
399
|
|
|
392
400
|
if minimum_around_radius < 1
|
|
393
|
-
raise ArgumentError,
|
|
401
|
+
raise ArgumentError, "invalid value for \"minimum_around_radius\", must be greater than or equal to 1."
|
|
394
402
|
end
|
|
395
403
|
|
|
396
404
|
@minimum_around_radius = minimum_around_radius
|
|
@@ -400,15 +408,15 @@ module Algolia
|
|
|
400
408
|
# @param [Object] personalization_impact Value to be assigned
|
|
401
409
|
def personalization_impact=(personalization_impact)
|
|
402
410
|
if personalization_impact.nil?
|
|
403
|
-
raise ArgumentError,
|
|
411
|
+
raise ArgumentError, "personalization_impact cannot be nil"
|
|
404
412
|
end
|
|
405
413
|
|
|
406
414
|
if personalization_impact > 100
|
|
407
|
-
raise ArgumentError,
|
|
415
|
+
raise ArgumentError, "invalid value for \"personalization_impact\", must be smaller than or equal to 100."
|
|
408
416
|
end
|
|
409
417
|
|
|
410
418
|
if personalization_impact < 0
|
|
411
|
-
raise ArgumentError,
|
|
419
|
+
raise ArgumentError, "invalid value for \"personalization_impact\", must be greater than or equal to 0."
|
|
412
420
|
end
|
|
413
421
|
|
|
414
422
|
@personalization_impact = personalization_impact
|
|
@@ -417,8 +425,7 @@ module Algolia
|
|
|
417
425
|
# Checks equality by comparing each attribute.
|
|
418
426
|
# @param [Object] Object to be compared
|
|
419
427
|
def ==(other)
|
|
420
|
-
return true if equal?(other)
|
|
421
|
-
|
|
428
|
+
return true if self.equal?(other)
|
|
422
429
|
self.class == other.class &&
|
|
423
430
|
query == other.query &&
|
|
424
431
|
similar_query == other.similar_query &&
|
|
@@ -463,8 +470,40 @@ module Algolia
|
|
|
463
470
|
# Calculates hash code according to all attributes.
|
|
464
471
|
# @return [Integer] Hash code
|
|
465
472
|
def hash
|
|
466
|
-
[
|
|
467
|
-
|
|
473
|
+
[
|
|
474
|
+
query,
|
|
475
|
+
similar_query,
|
|
476
|
+
filters,
|
|
477
|
+
facet_filters,
|
|
478
|
+
optional_filters,
|
|
479
|
+
numeric_filters,
|
|
480
|
+
tag_filters,
|
|
481
|
+
sum_or_filters_scores,
|
|
482
|
+
restrict_searchable_attributes,
|
|
483
|
+
facets,
|
|
484
|
+
faceting_after_distinct,
|
|
485
|
+
page,
|
|
486
|
+
offset,
|
|
487
|
+
length,
|
|
488
|
+
around_lat_lng,
|
|
489
|
+
around_lat_lng_via_ip,
|
|
490
|
+
around_radius,
|
|
491
|
+
around_precision,
|
|
492
|
+
minimum_around_radius,
|
|
493
|
+
inside_bounding_box,
|
|
494
|
+
inside_polygon,
|
|
495
|
+
natural_languages,
|
|
496
|
+
rule_contexts,
|
|
497
|
+
personalization_impact,
|
|
498
|
+
user_token,
|
|
499
|
+
get_ranking_info,
|
|
500
|
+
synonyms,
|
|
501
|
+
click_analytics,
|
|
502
|
+
analytics,
|
|
503
|
+
analytics_tags,
|
|
504
|
+
percentile_computation,
|
|
505
|
+
enable_ab_test
|
|
506
|
+
].hash
|
|
468
507
|
end
|
|
469
508
|
|
|
470
509
|
# Builds the object from hash
|
|
@@ -472,7 +511,6 @@ module Algolia
|
|
|
472
511
|
# @return [Object] Returns the model itself
|
|
473
512
|
def self.build_from_hash(attributes)
|
|
474
513
|
return nil unless attributes.is_a?(Hash)
|
|
475
|
-
|
|
476
514
|
attributes = attributes.transform_keys(&:to_sym)
|
|
477
515
|
transformed_hash = {}
|
|
478
516
|
types_mapping.each_pair do |key, type|
|
|
@@ -482,12 +520,15 @@ module Algolia
|
|
|
482
520
|
# check to ensure the input is an array given that the attribute
|
|
483
521
|
# is documented as an array but the input is not
|
|
484
522
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
485
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
523
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
524
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
525
|
+
}
|
|
486
526
|
end
|
|
487
527
|
elsif !attributes[attribute_map[key]].nil?
|
|
488
528
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
489
529
|
end
|
|
490
530
|
end
|
|
531
|
+
|
|
491
532
|
new(transformed_hash)
|
|
492
533
|
end
|
|
493
534
|
|
|
@@ -513,6 +554,7 @@ module Algolia
|
|
|
513
554
|
else
|
|
514
555
|
false
|
|
515
556
|
end
|
|
557
|
+
|
|
516
558
|
when :Object
|
|
517
559
|
# generic object (usually a Hash), return directly
|
|
518
560
|
value
|
|
@@ -527,10 +569,12 @@ module Algolia
|
|
|
527
569
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
528
570
|
end
|
|
529
571
|
end
|
|
530
|
-
|
|
572
|
+
# model
|
|
573
|
+
else
|
|
531
574
|
# models (e.g. Pet) or oneOf
|
|
532
575
|
klass = Algolia::Search.const_get(type)
|
|
533
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
576
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
577
|
+
.build_from_hash(value)
|
|
534
578
|
end
|
|
535
579
|
end
|
|
536
580
|
|
|
@@ -563,6 +607,7 @@ module Algolia
|
|
|
563
607
|
|
|
564
608
|
hash[param] = _to_hash(value)
|
|
565
609
|
end
|
|
610
|
+
|
|
566
611
|
hash
|
|
567
612
|
end
|
|
568
613
|
|
|
@@ -577,12 +622,14 @@ module Algolia
|
|
|
577
622
|
{}.tap do |hash|
|
|
578
623
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
579
624
|
end
|
|
580
|
-
elsif value.respond_to?
|
|
625
|
+
elsif value.respond_to?(:to_hash)
|
|
581
626
|
value.to_hash
|
|
582
627
|
else
|
|
583
628
|
value
|
|
584
629
|
end
|
|
585
630
|
end
|
|
631
|
+
|
|
586
632
|
end
|
|
633
|
+
|
|
587
634
|
end
|
|
588
635
|
end
|