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
|
|
@@ -25,31 +25,39 @@ module Algolia
|
|
|
25
25
|
# Attribute type mapping.
|
|
26
26
|
def self.types_mapping
|
|
27
27
|
{
|
|
28
|
-
:nb_custom_entries => :Integer
|
|
28
|
+
:nb_custom_entries => :"Integer"
|
|
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
|
-
|
|
41
|
-
raise
|
|
42
|
+
if (!attributes.is_a?(Hash))
|
|
43
|
+
raise(
|
|
44
|
+
ArgumentError,
|
|
45
|
+
"The input argument (attributes) must be a hash in `Algolia::DictionaryLanguage` initialize method"
|
|
46
|
+
)
|
|
42
47
|
end
|
|
43
48
|
|
|
44
49
|
# 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
|
-
|
|
50
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
51
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
52
|
+
raise(
|
|
53
|
+
ArgumentError,
|
|
54
|
+
"`#{k}` is not a valid attribute in `Algolia::DictionaryLanguage`. Please check the name to make sure it's valid. List of attributes: " +
|
|
55
|
+
self.class.attribute_map.keys.inspect
|
|
56
|
+
)
|
|
49
57
|
end
|
|
50
58
|
|
|
51
59
|
h[k.to_sym] = v
|
|
52
|
-
|
|
60
|
+
}
|
|
53
61
|
|
|
54
62
|
if attributes.key?(:nb_custom_entries)
|
|
55
63
|
self.nb_custom_entries = attributes[:nb_custom_entries]
|
|
@@ -59,8 +67,7 @@ module Algolia
|
|
|
59
67
|
# Checks equality by comparing each attribute.
|
|
60
68
|
# @param [Object] Object to be compared
|
|
61
69
|
def ==(other)
|
|
62
|
-
return true if equal?(other)
|
|
63
|
-
|
|
70
|
+
return true if self.equal?(other)
|
|
64
71
|
self.class == other.class &&
|
|
65
72
|
nb_custom_entries == other.nb_custom_entries
|
|
66
73
|
end
|
|
@@ -82,7 +89,6 @@ module Algolia
|
|
|
82
89
|
# @return [Object] Returns the model itself
|
|
83
90
|
def self.build_from_hash(attributes)
|
|
84
91
|
return nil unless attributes.is_a?(Hash)
|
|
85
|
-
|
|
86
92
|
attributes = attributes.transform_keys(&:to_sym)
|
|
87
93
|
transformed_hash = {}
|
|
88
94
|
types_mapping.each_pair do |key, type|
|
|
@@ -92,12 +98,15 @@ module Algolia
|
|
|
92
98
|
# check to ensure the input is an array given that the attribute
|
|
93
99
|
# is documented as an array but the input is not
|
|
94
100
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
95
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
101
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
102
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
103
|
+
}
|
|
96
104
|
end
|
|
97
105
|
elsif !attributes[attribute_map[key]].nil?
|
|
98
106
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
99
107
|
end
|
|
100
108
|
end
|
|
109
|
+
|
|
101
110
|
new(transformed_hash)
|
|
102
111
|
end
|
|
103
112
|
|
|
@@ -123,6 +132,7 @@ module Algolia
|
|
|
123
132
|
else
|
|
124
133
|
false
|
|
125
134
|
end
|
|
135
|
+
|
|
126
136
|
when :Object
|
|
127
137
|
# generic object (usually a Hash), return directly
|
|
128
138
|
value
|
|
@@ -137,10 +147,12 @@ module Algolia
|
|
|
137
147
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
138
148
|
end
|
|
139
149
|
end
|
|
140
|
-
|
|
150
|
+
# model
|
|
151
|
+
else
|
|
141
152
|
# models (e.g. Pet) or oneOf
|
|
142
153
|
klass = Algolia::Search.const_get(type)
|
|
143
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
154
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
155
|
+
.build_from_hash(value)
|
|
144
156
|
end
|
|
145
157
|
end
|
|
146
158
|
|
|
@@ -173,6 +185,7 @@ module Algolia
|
|
|
173
185
|
|
|
174
186
|
hash[param] = _to_hash(value)
|
|
175
187
|
end
|
|
188
|
+
|
|
176
189
|
hash
|
|
177
190
|
end
|
|
178
191
|
|
|
@@ -187,12 +200,14 @@ module Algolia
|
|
|
187
200
|
{}.tap do |hash|
|
|
188
201
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
189
202
|
end
|
|
190
|
-
elsif value.respond_to?
|
|
203
|
+
elsif value.respond_to?(:to_hash)
|
|
191
204
|
value.to_hash
|
|
192
205
|
else
|
|
193
206
|
value
|
|
194
207
|
end
|
|
195
208
|
end
|
|
209
|
+
|
|
196
210
|
end
|
|
211
|
+
|
|
197
212
|
end
|
|
198
213
|
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
|
|
@@ -24,31 +24,39 @@ module Algolia
|
|
|
24
24
|
# Attribute type mapping.
|
|
25
25
|
def self.types_mapping
|
|
26
26
|
{
|
|
27
|
-
:disable_standard_entries => :StandardEntries
|
|
27
|
+
:disable_standard_entries => :"StandardEntries"
|
|
28
28
|
}
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
# List of attributes with nullable: true
|
|
32
32
|
def self.openapi_nullable
|
|
33
|
-
Set.new(
|
|
33
|
+
Set.new(
|
|
34
|
+
[]
|
|
35
|
+
)
|
|
34
36
|
end
|
|
35
37
|
|
|
36
38
|
# Initializes the object
|
|
37
39
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
38
40
|
def initialize(attributes = {})
|
|
39
|
-
|
|
40
|
-
raise
|
|
41
|
+
if (!attributes.is_a?(Hash))
|
|
42
|
+
raise(
|
|
43
|
+
ArgumentError,
|
|
44
|
+
"The input argument (attributes) must be a hash in `Algolia::DictionarySettingsParams` initialize method"
|
|
45
|
+
)
|
|
41
46
|
end
|
|
42
47
|
|
|
43
48
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
44
|
-
attributes = attributes.each_with_object({})
|
|
45
|
-
|
|
46
|
-
raise
|
|
47
|
-
|
|
49
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
50
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
51
|
+
raise(
|
|
52
|
+
ArgumentError,
|
|
53
|
+
"`#{k}` is not a valid attribute in `Algolia::DictionarySettingsParams`. Please check the name to make sure it's valid. List of attributes: " +
|
|
54
|
+
self.class.attribute_map.keys.inspect
|
|
55
|
+
)
|
|
48
56
|
end
|
|
49
57
|
|
|
50
58
|
h[k.to_sym] = v
|
|
51
|
-
|
|
59
|
+
}
|
|
52
60
|
|
|
53
61
|
if attributes.key?(:disable_standard_entries)
|
|
54
62
|
self.disable_standard_entries = attributes[:disable_standard_entries]
|
|
@@ -60,8 +68,7 @@ module Algolia
|
|
|
60
68
|
# Checks equality by comparing each attribute.
|
|
61
69
|
# @param [Object] Object to be compared
|
|
62
70
|
def ==(other)
|
|
63
|
-
return true if equal?(other)
|
|
64
|
-
|
|
71
|
+
return true if self.equal?(other)
|
|
65
72
|
self.class == other.class &&
|
|
66
73
|
disable_standard_entries == other.disable_standard_entries
|
|
67
74
|
end
|
|
@@ -83,7 +90,6 @@ module Algolia
|
|
|
83
90
|
# @return [Object] Returns the model itself
|
|
84
91
|
def self.build_from_hash(attributes)
|
|
85
92
|
return nil unless attributes.is_a?(Hash)
|
|
86
|
-
|
|
87
93
|
attributes = attributes.transform_keys(&:to_sym)
|
|
88
94
|
transformed_hash = {}
|
|
89
95
|
types_mapping.each_pair do |key, type|
|
|
@@ -93,12 +99,15 @@ module Algolia
|
|
|
93
99
|
# check to ensure the input is an array given that the attribute
|
|
94
100
|
# is documented as an array but the input is not
|
|
95
101
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
96
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
102
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
103
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
104
|
+
}
|
|
97
105
|
end
|
|
98
106
|
elsif !attributes[attribute_map[key]].nil?
|
|
99
107
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
100
108
|
end
|
|
101
109
|
end
|
|
110
|
+
|
|
102
111
|
new(transformed_hash)
|
|
103
112
|
end
|
|
104
113
|
|
|
@@ -124,6 +133,7 @@ module Algolia
|
|
|
124
133
|
else
|
|
125
134
|
false
|
|
126
135
|
end
|
|
136
|
+
|
|
127
137
|
when :Object
|
|
128
138
|
# generic object (usually a Hash), return directly
|
|
129
139
|
value
|
|
@@ -138,10 +148,12 @@ module Algolia
|
|
|
138
148
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
139
149
|
end
|
|
140
150
|
end
|
|
141
|
-
|
|
151
|
+
# model
|
|
152
|
+
else
|
|
142
153
|
# models (e.g. Pet) or oneOf
|
|
143
154
|
klass = Algolia::Search.const_get(type)
|
|
144
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
155
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
156
|
+
.build_from_hash(value)
|
|
145
157
|
end
|
|
146
158
|
end
|
|
147
159
|
|
|
@@ -174,6 +186,7 @@ module Algolia
|
|
|
174
186
|
|
|
175
187
|
hash[param] = _to_hash(value)
|
|
176
188
|
end
|
|
189
|
+
|
|
177
190
|
hash
|
|
178
191
|
end
|
|
179
192
|
|
|
@@ -188,12 +201,14 @@ module Algolia
|
|
|
188
201
|
{}.tap do |hash|
|
|
189
202
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
190
203
|
end
|
|
191
|
-
elsif value.respond_to?
|
|
204
|
+
elsif value.respond_to?(:to_hash)
|
|
192
205
|
value.to_hash
|
|
193
206
|
else
|
|
194
207
|
value
|
|
195
208
|
end
|
|
196
209
|
end
|
|
210
|
+
|
|
197
211
|
end
|
|
212
|
+
|
|
198
213
|
end
|
|
199
214
|
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
|
|
@@ -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 DictionaryType.all_vars.include?(value)
|
|
29
|
-
|
|
30
29
|
raise "Invalid ENUM value #{value} for class #DictionaryType"
|
|
31
30
|
end
|
|
32
31
|
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 Search
|
|
8
8
|
# Determines how many records of a group are included in the search results. Records with the same value for the `attributeForDistinct` attribute are considered a group. The `distinct` setting controls how many members of the group are returned. This is useful for [deduplication and grouping](https://www.algolia.com/doc/guides/managing-results/refine-results/grouping/#introducing-algolias-distinct-feature). The `distinct` setting is ignored if `attributeForDistinct` is not set.
|
|
9
9
|
module Distinct
|
|
10
10
|
class << self
|
|
11
|
-
|
|
11
|
+
# List of class defined in oneOf (OpenAPI v3)
|
|
12
12
|
def openapi_one_of
|
|
13
13
|
[
|
|
14
|
-
:Boolean,
|
|
15
|
-
:Integer
|
|
14
|
+
:"Boolean",
|
|
15
|
+
:"Integer"
|
|
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::Search.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 Search
|
|
@@ -53,33 +53,38 @@ module Algolia
|
|
|
53
53
|
# Attribute type mapping.
|
|
54
54
|
def self.types_mapping
|
|
55
55
|
{
|
|
56
|
-
:type => :EditType,
|
|
57
|
-
:delete => :String,
|
|
58
|
-
:insert => :String
|
|
56
|
+
:type => :"EditType",
|
|
57
|
+
:delete => :"String",
|
|
58
|
+
:insert => :"String"
|
|
59
59
|
}
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
# List of attributes with nullable: true
|
|
63
63
|
def self.openapi_nullable
|
|
64
|
-
Set.new(
|
|
64
|
+
Set.new(
|
|
65
|
+
[]
|
|
66
|
+
)
|
|
65
67
|
end
|
|
66
68
|
|
|
67
69
|
# Initializes the object
|
|
68
70
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
69
71
|
def initialize(attributes = {})
|
|
70
|
-
|
|
72
|
+
if (!attributes.is_a?(Hash))
|
|
71
73
|
raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Edit` initialize method"
|
|
72
74
|
end
|
|
73
75
|
|
|
74
76
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
75
|
-
attributes = attributes.each_with_object({})
|
|
76
|
-
|
|
77
|
-
raise
|
|
78
|
-
|
|
77
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
78
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
79
|
+
raise(
|
|
80
|
+
ArgumentError,
|
|
81
|
+
"`#{k}` is not a valid attribute in `Algolia::Edit`. Please check the name to make sure it's valid. List of attributes: " +
|
|
82
|
+
self.class.attribute_map.keys.inspect
|
|
83
|
+
)
|
|
79
84
|
end
|
|
80
85
|
|
|
81
86
|
h[k.to_sym] = v
|
|
82
|
-
|
|
87
|
+
}
|
|
83
88
|
|
|
84
89
|
if attributes.key?(:type)
|
|
85
90
|
self.type = attributes[:type]
|
|
@@ -97,8 +102,7 @@ module Algolia
|
|
|
97
102
|
# Checks equality by comparing each attribute.
|
|
98
103
|
# @param [Object] Object to be compared
|
|
99
104
|
def ==(other)
|
|
100
|
-
return true if equal?(other)
|
|
101
|
-
|
|
105
|
+
return true if self.equal?(other)
|
|
102
106
|
self.class == other.class &&
|
|
103
107
|
type == other.type &&
|
|
104
108
|
delete == other.delete &&
|
|
@@ -122,7 +126,6 @@ module Algolia
|
|
|
122
126
|
# @return [Object] Returns the model itself
|
|
123
127
|
def self.build_from_hash(attributes)
|
|
124
128
|
return nil unless attributes.is_a?(Hash)
|
|
125
|
-
|
|
126
129
|
attributes = attributes.transform_keys(&:to_sym)
|
|
127
130
|
transformed_hash = {}
|
|
128
131
|
types_mapping.each_pair do |key, type|
|
|
@@ -132,12 +135,15 @@ module Algolia
|
|
|
132
135
|
# check to ensure the input is an array given that the attribute
|
|
133
136
|
# is documented as an array but the input is not
|
|
134
137
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
135
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
138
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
139
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
140
|
+
}
|
|
136
141
|
end
|
|
137
142
|
elsif !attributes[attribute_map[key]].nil?
|
|
138
143
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
139
144
|
end
|
|
140
145
|
end
|
|
146
|
+
|
|
141
147
|
new(transformed_hash)
|
|
142
148
|
end
|
|
143
149
|
|
|
@@ -163,6 +169,7 @@ module Algolia
|
|
|
163
169
|
else
|
|
164
170
|
false
|
|
165
171
|
end
|
|
172
|
+
|
|
166
173
|
when :Object
|
|
167
174
|
# generic object (usually a Hash), return directly
|
|
168
175
|
value
|
|
@@ -177,10 +184,12 @@ module Algolia
|
|
|
177
184
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
178
185
|
end
|
|
179
186
|
end
|
|
180
|
-
|
|
187
|
+
# model
|
|
188
|
+
else
|
|
181
189
|
# models (e.g. Pet) or oneOf
|
|
182
190
|
klass = Algolia::Search.const_get(type)
|
|
183
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
191
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
192
|
+
.build_from_hash(value)
|
|
184
193
|
end
|
|
185
194
|
end
|
|
186
195
|
|
|
@@ -213,6 +222,7 @@ module Algolia
|
|
|
213
222
|
|
|
214
223
|
hash[param] = _to_hash(value)
|
|
215
224
|
end
|
|
225
|
+
|
|
216
226
|
hash
|
|
217
227
|
end
|
|
218
228
|
|
|
@@ -227,12 +237,14 @@ module Algolia
|
|
|
227
237
|
{}.tap do |hash|
|
|
228
238
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
229
239
|
end
|
|
230
|
-
elsif value.respond_to?
|
|
240
|
+
elsif value.respond_to?(:to_hash)
|
|
231
241
|
value.to_hash
|
|
232
242
|
else
|
|
233
243
|
value
|
|
234
244
|
end
|
|
235
245
|
end
|
|
246
|
+
|
|
236
247
|
end
|
|
248
|
+
|
|
237
249
|
end
|
|
238
250
|
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
|
|
@@ -25,7 +25,6 @@ module Algolia
|
|
|
25
25
|
# @return [String] The enum value
|
|
26
26
|
def build_from_hash(value)
|
|
27
27
|
return value if EditType.all_vars.include?(value)
|
|
28
|
-
|
|
29
28
|
raise "Invalid ENUM value #{value} for class #EditType"
|
|
30
29
|
end
|
|
31
30
|
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
|
|
@@ -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::Search.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
|