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 Recommend
|
|
@@ -26,20 +26,25 @@ module Algolia
|
|
|
26
26
|
# Attribute type mapping.
|
|
27
27
|
def self.types_mapping
|
|
28
28
|
{
|
|
29
|
-
:message => :String
|
|
29
|
+
:message => :"String"
|
|
30
30
|
}
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# List of attributes with nullable: true
|
|
34
34
|
def self.openapi_nullable
|
|
35
|
-
Set.new(
|
|
35
|
+
Set.new(
|
|
36
|
+
[]
|
|
37
|
+
)
|
|
36
38
|
end
|
|
37
39
|
|
|
38
40
|
# Initializes the object
|
|
39
41
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
40
42
|
def initialize(attributes = {})
|
|
41
|
-
|
|
42
|
-
raise
|
|
43
|
+
if (!attributes.is_a?(Hash))
|
|
44
|
+
raise(
|
|
45
|
+
ArgumentError,
|
|
46
|
+
"The input argument (attributes) must be a hash in `Algolia::ErrorBase` initialize method"
|
|
47
|
+
)
|
|
43
48
|
end
|
|
44
49
|
|
|
45
50
|
if attributes.key?(:message)
|
|
@@ -54,8 +59,7 @@ module Algolia
|
|
|
54
59
|
# Checks equality by comparing each attribute.
|
|
55
60
|
# @param [Object] Object to be compared
|
|
56
61
|
def ==(other)
|
|
57
|
-
return true if equal?(other)
|
|
58
|
-
|
|
62
|
+
return true if self.equal?(other)
|
|
59
63
|
self.class == other.class &&
|
|
60
64
|
message == other.message
|
|
61
65
|
end
|
|
@@ -77,7 +81,6 @@ module Algolia
|
|
|
77
81
|
# @return [Object] Returns the model itself
|
|
78
82
|
def self.build_from_hash(attributes)
|
|
79
83
|
return nil unless attributes.is_a?(Hash)
|
|
80
|
-
|
|
81
84
|
attributes = attributes.transform_keys(&:to_sym)
|
|
82
85
|
transformed_hash = {}
|
|
83
86
|
types_mapping.each_pair do |key, type|
|
|
@@ -87,7 +90,9 @@ module Algolia
|
|
|
87
90
|
# check to ensure the input is an array given that the attribute
|
|
88
91
|
# is documented as an array but the input is not
|
|
89
92
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
90
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
93
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
94
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
95
|
+
}
|
|
91
96
|
end
|
|
92
97
|
elsif !attributes[attribute_map[key]].nil?
|
|
93
98
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
@@ -121,6 +126,7 @@ module Algolia
|
|
|
121
126
|
else
|
|
122
127
|
false
|
|
123
128
|
end
|
|
129
|
+
|
|
124
130
|
when :Object
|
|
125
131
|
# generic object (usually a Hash), return directly
|
|
126
132
|
value
|
|
@@ -135,10 +141,12 @@ module Algolia
|
|
|
135
141
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
136
142
|
end
|
|
137
143
|
end
|
|
138
|
-
|
|
144
|
+
# model
|
|
145
|
+
else
|
|
139
146
|
# models (e.g. Pet) or oneOf
|
|
140
147
|
klass = Algolia::Recommend.const_get(type)
|
|
141
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
148
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
149
|
+
.build_from_hash(value)
|
|
142
150
|
end
|
|
143
151
|
end
|
|
144
152
|
|
|
@@ -176,6 +184,7 @@ module Algolia
|
|
|
176
184
|
self.additional_properties&.each_pair do |k, v|
|
|
177
185
|
hash[k.to_sym] = _to_hash(v)
|
|
178
186
|
end
|
|
187
|
+
|
|
179
188
|
hash
|
|
180
189
|
end
|
|
181
190
|
|
|
@@ -190,12 +199,14 @@ module Algolia
|
|
|
190
199
|
{}.tap do |hash|
|
|
191
200
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
192
201
|
end
|
|
193
|
-
elsif value.respond_to?
|
|
202
|
+
elsif value.respond_to?(:to_hash)
|
|
194
203
|
value.to_hash
|
|
195
204
|
else
|
|
196
205
|
value
|
|
197
206
|
end
|
|
198
207
|
end
|
|
208
|
+
|
|
199
209
|
end
|
|
210
|
+
|
|
200
211
|
end
|
|
201
212
|
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 ExactOnSingleWordQuery.all_vars.include?(value)
|
|
29
|
-
|
|
30
29
|
raise "Invalid ENUM value #{value} for class #ExactOnSingleWordQuery"
|
|
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
|
|
@@ -41,35 +41,43 @@ module Algolia
|
|
|
41
41
|
# Attribute type mapping.
|
|
42
42
|
def self.types_mapping
|
|
43
43
|
{
|
|
44
|
-
:facets_count => :Boolean,
|
|
45
|
-
:facet_values => :Boolean,
|
|
46
|
-
:nb_hits => :Boolean,
|
|
47
|
-
:rules_match => :Boolean,
|
|
48
|
-
:typo => :Boolean
|
|
44
|
+
:facets_count => :"Boolean",
|
|
45
|
+
:facet_values => :"Boolean",
|
|
46
|
+
:nb_hits => :"Boolean",
|
|
47
|
+
:rules_match => :"Boolean",
|
|
48
|
+
:typo => :"Boolean"
|
|
49
49
|
}
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
# List of attributes with nullable: true
|
|
53
53
|
def self.openapi_nullable
|
|
54
|
-
Set.new(
|
|
54
|
+
Set.new(
|
|
55
|
+
[]
|
|
56
|
+
)
|
|
55
57
|
end
|
|
56
58
|
|
|
57
59
|
# Initializes the object
|
|
58
60
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
59
61
|
def initialize(attributes = {})
|
|
60
|
-
|
|
61
|
-
raise
|
|
62
|
+
if (!attributes.is_a?(Hash))
|
|
63
|
+
raise(
|
|
64
|
+
ArgumentError,
|
|
65
|
+
"The input argument (attributes) must be a hash in `Algolia::Exhaustive` initialize method"
|
|
66
|
+
)
|
|
62
67
|
end
|
|
63
68
|
|
|
64
69
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
65
|
-
attributes = attributes.each_with_object({})
|
|
66
|
-
|
|
67
|
-
raise
|
|
68
|
-
|
|
70
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
71
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
72
|
+
raise(
|
|
73
|
+
ArgumentError,
|
|
74
|
+
"`#{k}` is not a valid attribute in `Algolia::Exhaustive`. Please check the name to make sure it's valid. List of attributes: " +
|
|
75
|
+
self.class.attribute_map.keys.inspect
|
|
76
|
+
)
|
|
69
77
|
end
|
|
70
78
|
|
|
71
79
|
h[k.to_sym] = v
|
|
72
|
-
|
|
80
|
+
}
|
|
73
81
|
|
|
74
82
|
if attributes.key?(:facets_count)
|
|
75
83
|
self.facets_count = attributes[:facets_count]
|
|
@@ -95,8 +103,7 @@ module Algolia
|
|
|
95
103
|
# Checks equality by comparing each attribute.
|
|
96
104
|
# @param [Object] Object to be compared
|
|
97
105
|
def ==(other)
|
|
98
|
-
return true if equal?(other)
|
|
99
|
-
|
|
106
|
+
return true if self.equal?(other)
|
|
100
107
|
self.class == other.class &&
|
|
101
108
|
facets_count == other.facets_count &&
|
|
102
109
|
facet_values == other.facet_values &&
|
|
@@ -122,7 +129,6 @@ module Algolia
|
|
|
122
129
|
# @return [Object] Returns the model itself
|
|
123
130
|
def self.build_from_hash(attributes)
|
|
124
131
|
return nil unless attributes.is_a?(Hash)
|
|
125
|
-
|
|
126
132
|
attributes = attributes.transform_keys(&:to_sym)
|
|
127
133
|
transformed_hash = {}
|
|
128
134
|
types_mapping.each_pair do |key, type|
|
|
@@ -132,12 +138,15 @@ module Algolia
|
|
|
132
138
|
# check to ensure the input is an array given that the attribute
|
|
133
139
|
# is documented as an array but the input is not
|
|
134
140
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
135
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
141
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
142
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
143
|
+
}
|
|
136
144
|
end
|
|
137
145
|
elsif !attributes[attribute_map[key]].nil?
|
|
138
146
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
139
147
|
end
|
|
140
148
|
end
|
|
149
|
+
|
|
141
150
|
new(transformed_hash)
|
|
142
151
|
end
|
|
143
152
|
|
|
@@ -163,6 +172,7 @@ module Algolia
|
|
|
163
172
|
else
|
|
164
173
|
false
|
|
165
174
|
end
|
|
175
|
+
|
|
166
176
|
when :Object
|
|
167
177
|
# generic object (usually a Hash), return directly
|
|
168
178
|
value
|
|
@@ -177,10 +187,12 @@ module Algolia
|
|
|
177
187
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
178
188
|
end
|
|
179
189
|
end
|
|
180
|
-
|
|
190
|
+
# model
|
|
191
|
+
else
|
|
181
192
|
# models (e.g. Pet) or oneOf
|
|
182
193
|
klass = Algolia::Recommend.const_get(type)
|
|
183
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
194
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
195
|
+
.build_from_hash(value)
|
|
184
196
|
end
|
|
185
197
|
end
|
|
186
198
|
|
|
@@ -213,6 +225,7 @@ module Algolia
|
|
|
213
225
|
|
|
214
226
|
hash[param] = _to_hash(value)
|
|
215
227
|
end
|
|
228
|
+
|
|
216
229
|
hash
|
|
217
230
|
end
|
|
218
231
|
|
|
@@ -227,12 +240,14 @@ module Algolia
|
|
|
227
240
|
{}.tap do |hash|
|
|
228
241
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
229
242
|
end
|
|
230
|
-
elsif value.respond_to?
|
|
243
|
+
elsif value.respond_to?(:to_hash)
|
|
231
244
|
value.to_hash
|
|
232
245
|
else
|
|
233
246
|
value
|
|
234
247
|
end
|
|
235
248
|
end
|
|
249
|
+
|
|
236
250
|
end
|
|
251
|
+
|
|
237
252
|
end
|
|
238
253
|
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 the search by facet values, so that only records with the same facet values are retrieved. **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** - `[filter1, filter2]` is interpreted as `filter1 AND filter2`. - `[[filter1, filter2], filter3]` is interpreted as `filter1 OR filter2 AND filter3`. - `facet:-value` is interpreted as `NOT facet:value`. While it's best to avoid attributes that start with a `-`, you can still filter them by escaping with a backslash: `facet:\\-value`.
|
|
9
9
|
module FacetFilters
|
|
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<FacetFilters>",
|
|
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,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
|
|
@@ -28,32 +28,40 @@ module Algolia
|
|
|
28
28
|
# Attribute type mapping.
|
|
29
29
|
def self.types_mapping
|
|
30
30
|
{
|
|
31
|
-
:facets => :Facets,
|
|
32
|
-
:values => :
|
|
31
|
+
:facets => :"Facets",
|
|
32
|
+
:values => :"Hash<String, Value>"
|
|
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::FacetOrdering` 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::FacetOrdering`. 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?(:facets)
|
|
59
67
|
self.facets = attributes[:facets]
|
|
@@ -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
|
facets == other.facets &&
|
|
76
83
|
values == other.values
|
|
@@ -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::Recommend.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 Recommend
|
|
@@ -25,31 +25,36 @@ module Algolia
|
|
|
25
25
|
# Attribute type mapping.
|
|
26
26
|
def self.types_mapping
|
|
27
27
|
{
|
|
28
|
-
:order => :
|
|
28
|
+
:order => :"Array<String>"
|
|
29
29
|
}
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# List of attributes with nullable: true
|
|
33
33
|
def self.openapi_nullable
|
|
34
|
-
Set.new(
|
|
34
|
+
Set.new(
|
|
35
|
+
[]
|
|
36
|
+
)
|
|
35
37
|
end
|
|
36
38
|
|
|
37
39
|
# Initializes the object
|
|
38
40
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
39
41
|
def initialize(attributes = {})
|
|
40
|
-
|
|
42
|
+
if (!attributes.is_a?(Hash))
|
|
41
43
|
raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Facets` initialize method"
|
|
42
44
|
end
|
|
43
45
|
|
|
44
46
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
45
|
-
attributes = attributes.each_with_object({})
|
|
46
|
-
|
|
47
|
-
raise
|
|
48
|
-
|
|
47
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
48
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
49
|
+
raise(
|
|
50
|
+
ArgumentError,
|
|
51
|
+
"`#{k}` is not a valid attribute in `Algolia::Facets`. Please check the name to make sure it's valid. List of attributes: " +
|
|
52
|
+
self.class.attribute_map.keys.inspect
|
|
53
|
+
)
|
|
49
54
|
end
|
|
50
55
|
|
|
51
56
|
h[k.to_sym] = v
|
|
52
|
-
|
|
57
|
+
}
|
|
53
58
|
|
|
54
59
|
if attributes.key?(:order)
|
|
55
60
|
if (value = attributes[:order]).is_a?(Array)
|
|
@@ -61,8 +66,7 @@ module Algolia
|
|
|
61
66
|
# Checks equality by comparing each attribute.
|
|
62
67
|
# @param [Object] Object to be compared
|
|
63
68
|
def ==(other)
|
|
64
|
-
return true if equal?(other)
|
|
65
|
-
|
|
69
|
+
return true if self.equal?(other)
|
|
66
70
|
self.class == other.class &&
|
|
67
71
|
order == other.order
|
|
68
72
|
end
|
|
@@ -84,7 +88,6 @@ module Algolia
|
|
|
84
88
|
# @return [Object] Returns the model itself
|
|
85
89
|
def self.build_from_hash(attributes)
|
|
86
90
|
return nil unless attributes.is_a?(Hash)
|
|
87
|
-
|
|
88
91
|
attributes = attributes.transform_keys(&:to_sym)
|
|
89
92
|
transformed_hash = {}
|
|
90
93
|
types_mapping.each_pair do |key, type|
|
|
@@ -94,12 +97,15 @@ module Algolia
|
|
|
94
97
|
# check to ensure the input is an array given that the attribute
|
|
95
98
|
# is documented as an array but the input is not
|
|
96
99
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
97
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
100
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
101
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
102
|
+
}
|
|
98
103
|
end
|
|
99
104
|
elsif !attributes[attribute_map[key]].nil?
|
|
100
105
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
101
106
|
end
|
|
102
107
|
end
|
|
108
|
+
|
|
103
109
|
new(transformed_hash)
|
|
104
110
|
end
|
|
105
111
|
|
|
@@ -125,6 +131,7 @@ module Algolia
|
|
|
125
131
|
else
|
|
126
132
|
false
|
|
127
133
|
end
|
|
134
|
+
|
|
128
135
|
when :Object
|
|
129
136
|
# generic object (usually a Hash), return directly
|
|
130
137
|
value
|
|
@@ -139,10 +146,12 @@ module Algolia
|
|
|
139
146
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
140
147
|
end
|
|
141
148
|
end
|
|
142
|
-
|
|
149
|
+
# model
|
|
150
|
+
else
|
|
143
151
|
# models (e.g. Pet) or oneOf
|
|
144
152
|
klass = Algolia::Recommend.const_get(type)
|
|
145
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
153
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
154
|
+
.build_from_hash(value)
|
|
146
155
|
end
|
|
147
156
|
end
|
|
148
157
|
|
|
@@ -175,6 +184,7 @@ module Algolia
|
|
|
175
184
|
|
|
176
185
|
hash[param] = _to_hash(value)
|
|
177
186
|
end
|
|
187
|
+
|
|
178
188
|
hash
|
|
179
189
|
end
|
|
180
190
|
|
|
@@ -189,12 +199,14 @@ module Algolia
|
|
|
189
199
|
{}.tap do |hash|
|
|
190
200
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
191
201
|
end
|
|
192
|
-
elsif value.respond_to?
|
|
202
|
+
elsif value.respond_to?(:to_hash)
|
|
193
203
|
value.to_hash
|
|
194
204
|
else
|
|
195
205
|
value
|
|
196
206
|
end
|
|
197
207
|
end
|
|
208
|
+
|
|
198
209
|
end
|
|
210
|
+
|
|
199
211
|
end
|
|
200
212
|
end
|