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 Insights
|
|
@@ -74,38 +74,46 @@ module Algolia
|
|
|
74
74
|
# Attribute type mapping.
|
|
75
75
|
def self.types_mapping
|
|
76
76
|
{
|
|
77
|
-
:event_name => :String,
|
|
78
|
-
:event_type => :ConversionEvent,
|
|
79
|
-
:index => :String,
|
|
80
|
-
:object_ids => :
|
|
81
|
-
:query_id => :String,
|
|
82
|
-
:user_token => :String,
|
|
83
|
-
:authenticated_user_token => :String,
|
|
84
|
-
:timestamp => :Integer
|
|
77
|
+
:event_name => :"String",
|
|
78
|
+
:event_type => :"ConversionEvent",
|
|
79
|
+
:index => :"String",
|
|
80
|
+
:object_ids => :"Array<String>",
|
|
81
|
+
:query_id => :"String",
|
|
82
|
+
:user_token => :"String",
|
|
83
|
+
:authenticated_user_token => :"String",
|
|
84
|
+
:timestamp => :"Integer"
|
|
85
85
|
}
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
# List of attributes with nullable: true
|
|
89
89
|
def self.openapi_nullable
|
|
90
|
-
Set.new(
|
|
90
|
+
Set.new(
|
|
91
|
+
[]
|
|
92
|
+
)
|
|
91
93
|
end
|
|
92
94
|
|
|
93
95
|
# Initializes the object
|
|
94
96
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
95
97
|
def initialize(attributes = {})
|
|
96
|
-
|
|
97
|
-
raise
|
|
98
|
+
if (!attributes.is_a?(Hash))
|
|
99
|
+
raise(
|
|
100
|
+
ArgumentError,
|
|
101
|
+
"The input argument (attributes) must be a hash in `Algolia::ConvertedObjectIDsAfterSearch` initialize method"
|
|
102
|
+
)
|
|
98
103
|
end
|
|
99
104
|
|
|
100
105
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
101
|
-
attributes = attributes.each_with_object({})
|
|
102
|
-
|
|
103
|
-
raise
|
|
104
|
-
|
|
106
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
107
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
108
|
+
raise(
|
|
109
|
+
ArgumentError,
|
|
110
|
+
"`#{k}` is not a valid attribute in `Algolia::ConvertedObjectIDsAfterSearch`. Please check the name to make sure it's valid. List of attributes: " +
|
|
111
|
+
self.class.attribute_map.keys.inspect
|
|
112
|
+
)
|
|
105
113
|
end
|
|
106
114
|
|
|
107
115
|
h[k.to_sym] = v
|
|
108
|
-
|
|
116
|
+
}
|
|
109
117
|
|
|
110
118
|
if attributes.key?(:event_name)
|
|
111
119
|
self.event_name = attributes[:event_name]
|
|
@@ -158,15 +166,21 @@ module Algolia
|
|
|
158
166
|
# @param [Object] event_name Value to be assigned
|
|
159
167
|
def event_name=(event_name)
|
|
160
168
|
if event_name.nil?
|
|
161
|
-
raise ArgumentError,
|
|
169
|
+
raise ArgumentError, "event_name cannot be nil"
|
|
162
170
|
end
|
|
163
171
|
|
|
164
172
|
if event_name.to_s.length > 64
|
|
165
|
-
raise
|
|
173
|
+
raise(
|
|
174
|
+
ArgumentError,
|
|
175
|
+
"invalid value for \"event_name\", the character length must be smaller than or equal to 64."
|
|
176
|
+
)
|
|
166
177
|
end
|
|
167
178
|
|
|
168
179
|
if event_name.to_s.length < 1
|
|
169
|
-
raise
|
|
180
|
+
raise(
|
|
181
|
+
ArgumentError,
|
|
182
|
+
"invalid value for \"event_name\", the character length must be great than or equal to 1."
|
|
183
|
+
)
|
|
170
184
|
end
|
|
171
185
|
|
|
172
186
|
pattern = /[\x20-\x7E]{1,64}/
|
|
@@ -181,15 +195,15 @@ module Algolia
|
|
|
181
195
|
# @param [Object] object_ids Value to be assigned
|
|
182
196
|
def object_ids=(object_ids)
|
|
183
197
|
if object_ids.nil?
|
|
184
|
-
raise ArgumentError,
|
|
198
|
+
raise ArgumentError, "object_ids cannot be nil"
|
|
185
199
|
end
|
|
186
200
|
|
|
187
201
|
if object_ids.length > 20
|
|
188
|
-
raise ArgumentError,
|
|
202
|
+
raise ArgumentError, "invalid value for \"object_ids\", number of items must be less than or equal to 20."
|
|
189
203
|
end
|
|
190
204
|
|
|
191
205
|
if object_ids.length < 1
|
|
192
|
-
raise ArgumentError,
|
|
206
|
+
raise ArgumentError, "invalid value for \"object_ids\", number of items must be greater than or equal to 1."
|
|
193
207
|
end
|
|
194
208
|
|
|
195
209
|
@object_ids = object_ids
|
|
@@ -199,15 +213,18 @@ module Algolia
|
|
|
199
213
|
# @param [Object] query_id Value to be assigned
|
|
200
214
|
def query_id=(query_id)
|
|
201
215
|
if query_id.nil?
|
|
202
|
-
raise ArgumentError,
|
|
216
|
+
raise ArgumentError, "query_id cannot be nil"
|
|
203
217
|
end
|
|
204
218
|
|
|
205
219
|
if query_id.to_s.length > 32
|
|
206
|
-
raise
|
|
220
|
+
raise(
|
|
221
|
+
ArgumentError,
|
|
222
|
+
"invalid value for \"query_id\", the character length must be smaller than or equal to 32."
|
|
223
|
+
)
|
|
207
224
|
end
|
|
208
225
|
|
|
209
226
|
if query_id.to_s.length < 32
|
|
210
|
-
raise ArgumentError,
|
|
227
|
+
raise ArgumentError, "invalid value for \"query_id\", the character length must be great than or equal to 32."
|
|
211
228
|
end
|
|
212
229
|
|
|
213
230
|
pattern = /[0-9a-f]{32}/
|
|
@@ -222,18 +239,24 @@ module Algolia
|
|
|
222
239
|
# @param [Object] user_token Value to be assigned
|
|
223
240
|
def user_token=(user_token)
|
|
224
241
|
if user_token.nil?
|
|
225
|
-
raise ArgumentError,
|
|
242
|
+
raise ArgumentError, "user_token cannot be nil"
|
|
226
243
|
end
|
|
227
244
|
|
|
228
245
|
if user_token.to_s.length > 129
|
|
229
|
-
raise
|
|
246
|
+
raise(
|
|
247
|
+
ArgumentError,
|
|
248
|
+
"invalid value for \"user_token\", the character length must be smaller than or equal to 129."
|
|
249
|
+
)
|
|
230
250
|
end
|
|
231
251
|
|
|
232
252
|
if user_token.to_s.length < 1
|
|
233
|
-
raise
|
|
253
|
+
raise(
|
|
254
|
+
ArgumentError,
|
|
255
|
+
"invalid value for \"user_token\", the character length must be great than or equal to 1."
|
|
256
|
+
)
|
|
234
257
|
end
|
|
235
258
|
|
|
236
|
-
pattern =
|
|
259
|
+
pattern = /[a-zA-Z0-9_=\/+-]{1,129}/
|
|
237
260
|
if user_token !~ pattern
|
|
238
261
|
raise ArgumentError, "invalid value for \"user_token\", must conform to the pattern #{pattern}."
|
|
239
262
|
end
|
|
@@ -245,18 +268,24 @@ module Algolia
|
|
|
245
268
|
# @param [Object] authenticated_user_token Value to be assigned
|
|
246
269
|
def authenticated_user_token=(authenticated_user_token)
|
|
247
270
|
if authenticated_user_token.nil?
|
|
248
|
-
raise ArgumentError,
|
|
271
|
+
raise ArgumentError, "authenticated_user_token cannot be nil"
|
|
249
272
|
end
|
|
250
273
|
|
|
251
274
|
if authenticated_user_token.to_s.length > 129
|
|
252
|
-
raise
|
|
275
|
+
raise(
|
|
276
|
+
ArgumentError,
|
|
277
|
+
"invalid value for \"authenticated_user_token\", the character length must be smaller than or equal to 129."
|
|
278
|
+
)
|
|
253
279
|
end
|
|
254
280
|
|
|
255
281
|
if authenticated_user_token.to_s.length < 1
|
|
256
|
-
raise
|
|
282
|
+
raise(
|
|
283
|
+
ArgumentError,
|
|
284
|
+
"invalid value for \"authenticated_user_token\", the character length must be great than or equal to 1."
|
|
285
|
+
)
|
|
257
286
|
end
|
|
258
287
|
|
|
259
|
-
pattern =
|
|
288
|
+
pattern = /[a-zA-Z0-9_=\/+-]{1,129}/
|
|
260
289
|
if authenticated_user_token !~ pattern
|
|
261
290
|
raise ArgumentError, "invalid value for \"authenticated_user_token\", must conform to the pattern #{pattern}."
|
|
262
291
|
end
|
|
@@ -267,8 +296,7 @@ module Algolia
|
|
|
267
296
|
# Checks equality by comparing each attribute.
|
|
268
297
|
# @param [Object] Object to be compared
|
|
269
298
|
def ==(other)
|
|
270
|
-
return true if equal?(other)
|
|
271
|
-
|
|
299
|
+
return true if self.equal?(other)
|
|
272
300
|
self.class == other.class &&
|
|
273
301
|
event_name == other.event_name &&
|
|
274
302
|
event_type == other.event_type &&
|
|
@@ -297,7 +325,6 @@ module Algolia
|
|
|
297
325
|
# @return [Object] Returns the model itself
|
|
298
326
|
def self.build_from_hash(attributes)
|
|
299
327
|
return nil unless attributes.is_a?(Hash)
|
|
300
|
-
|
|
301
328
|
attributes = attributes.transform_keys(&:to_sym)
|
|
302
329
|
transformed_hash = {}
|
|
303
330
|
types_mapping.each_pair do |key, type|
|
|
@@ -307,12 +334,15 @@ module Algolia
|
|
|
307
334
|
# check to ensure the input is an array given that the attribute
|
|
308
335
|
# is documented as an array but the input is not
|
|
309
336
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
310
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
337
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
338
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
339
|
+
}
|
|
311
340
|
end
|
|
312
341
|
elsif !attributes[attribute_map[key]].nil?
|
|
313
342
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
314
343
|
end
|
|
315
344
|
end
|
|
345
|
+
|
|
316
346
|
new(transformed_hash)
|
|
317
347
|
end
|
|
318
348
|
|
|
@@ -338,6 +368,7 @@ module Algolia
|
|
|
338
368
|
else
|
|
339
369
|
false
|
|
340
370
|
end
|
|
371
|
+
|
|
341
372
|
when :Object
|
|
342
373
|
# generic object (usually a Hash), return directly
|
|
343
374
|
value
|
|
@@ -352,10 +383,12 @@ module Algolia
|
|
|
352
383
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
353
384
|
end
|
|
354
385
|
end
|
|
355
|
-
|
|
386
|
+
# model
|
|
387
|
+
else
|
|
356
388
|
# models (e.g. Pet) or oneOf
|
|
357
389
|
klass = Algolia::Insights.const_get(type)
|
|
358
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
390
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
391
|
+
.build_from_hash(value)
|
|
359
392
|
end
|
|
360
393
|
end
|
|
361
394
|
|
|
@@ -388,6 +421,7 @@ module Algolia
|
|
|
388
421
|
|
|
389
422
|
hash[param] = _to_hash(value)
|
|
390
423
|
end
|
|
424
|
+
|
|
391
425
|
hash
|
|
392
426
|
end
|
|
393
427
|
|
|
@@ -402,12 +436,14 @@ module Algolia
|
|
|
402
436
|
{}.tap do |hash|
|
|
403
437
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
404
438
|
end
|
|
405
|
-
elsif value.respond_to?
|
|
439
|
+
elsif value.respond_to?(:to_hash)
|
|
406
440
|
value.to_hash
|
|
407
441
|
else
|
|
408
442
|
value
|
|
409
443
|
end
|
|
410
444
|
end
|
|
445
|
+
|
|
411
446
|
end
|
|
447
|
+
|
|
412
448
|
end
|
|
413
449
|
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 Insights
|
|
8
8
|
# Absolute value of the discount for this product, in units of `currency`.
|
|
9
9
|
module Discount
|
|
10
10
|
class << self
|
|
11
|
-
|
|
11
|
+
# List of class defined in oneOf (OpenAPI v3)
|
|
12
12
|
def openapi_one_of
|
|
13
13
|
[
|
|
14
|
-
:Float,
|
|
15
|
-
:String
|
|
14
|
+
:"Float",
|
|
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::Insights.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 Insights
|
|
@@ -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::Insights.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,27 +1,27 @@
|
|
|
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 Insights
|
|
8
8
|
module EventsItems
|
|
9
9
|
class << self
|
|
10
|
-
|
|
10
|
+
# List of class defined in oneOf (OpenAPI v3)
|
|
11
11
|
def openapi_one_of
|
|
12
12
|
[
|
|
13
|
-
:AddedToCartObjectIDs,
|
|
14
|
-
:AddedToCartObjectIDsAfterSearch,
|
|
15
|
-
:ClickedFilters,
|
|
16
|
-
:ClickedObjectIDs,
|
|
17
|
-
:ClickedObjectIDsAfterSearch,
|
|
18
|
-
:ConvertedFilters,
|
|
19
|
-
:ConvertedObjectIDs,
|
|
20
|
-
:ConvertedObjectIDsAfterSearch,
|
|
21
|
-
:PurchasedObjectIDs,
|
|
22
|
-
:PurchasedObjectIDsAfterSearch,
|
|
23
|
-
:ViewedFilters,
|
|
24
|
-
:ViewedObjectIDs
|
|
13
|
+
:"AddedToCartObjectIDs",
|
|
14
|
+
:"AddedToCartObjectIDsAfterSearch",
|
|
15
|
+
:"ClickedFilters",
|
|
16
|
+
:"ClickedObjectIDs",
|
|
17
|
+
:"ClickedObjectIDsAfterSearch",
|
|
18
|
+
:"ConvertedFilters",
|
|
19
|
+
:"ConvertedObjectIDs",
|
|
20
|
+
:"ConvertedObjectIDsAfterSearch",
|
|
21
|
+
:"PurchasedObjectIDs",
|
|
22
|
+
:"PurchasedObjectIDsAfterSearch",
|
|
23
|
+
:"ViewedFilters",
|
|
24
|
+
:"ViewedObjectIDs"
|
|
25
25
|
]
|
|
26
26
|
end
|
|
27
27
|
|
|
@@ -37,11 +37,14 @@ module Algolia
|
|
|
37
37
|
# - TODO: scalar values are de facto behaving as if they were nullable.
|
|
38
38
|
# - TODO: logging when debugging is set.
|
|
39
39
|
openapi_one_of.each do |klass|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
begin
|
|
41
|
+
# "nullable: true"
|
|
42
|
+
next if klass == :AnyType
|
|
43
|
+
typed_data = find_and_cast_into_type(klass, data)
|
|
44
|
+
return typed_data if typed_data
|
|
45
|
+
# rescue all errors so we keep iterating even if the current item lookup raises
|
|
46
|
+
rescue
|
|
47
|
+
end
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
openapi_one_of.include?(:AnyType) ? data : nil
|
|
@@ -51,44 +54,48 @@ module Algolia
|
|
|
51
54
|
|
|
52
55
|
SchemaMismatchError = Class.new(StandardError)
|
|
53
56
|
|
|
54
|
-
#
|
|
57
|
+
# Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
|
|
55
58
|
def find_and_cast_into_type(klass, data)
|
|
56
59
|
return if data.nil?
|
|
57
60
|
|
|
58
61
|
case klass.to_s
|
|
59
|
-
when
|
|
62
|
+
when "Boolean"
|
|
60
63
|
return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
|
|
61
|
-
when
|
|
64
|
+
when "Float"
|
|
62
65
|
return data if data.instance_of?(Float)
|
|
63
|
-
when
|
|
66
|
+
when "Integer"
|
|
64
67
|
return data if data.instance_of?(Integer)
|
|
65
|
-
when
|
|
68
|
+
when "Time"
|
|
66
69
|
return Time.parse(data)
|
|
67
|
-
when
|
|
70
|
+
when "Date"
|
|
68
71
|
return Date.parse(data)
|
|
69
|
-
when
|
|
72
|
+
when "String"
|
|
70
73
|
return data if data.instance_of?(String)
|
|
71
|
-
|
|
74
|
+
# "type: object"
|
|
75
|
+
when "Object"
|
|
72
76
|
return data if data.instance_of?(Hash)
|
|
73
|
-
|
|
77
|
+
# "type: array"
|
|
78
|
+
when /\AArray<(?<sub_type>.+)>\z/
|
|
74
79
|
if data.instance_of?(Array)
|
|
75
80
|
sub_type = Regexp.last_match[:sub_type]
|
|
76
81
|
return data.map { |item| find_and_cast_into_type(sub_type, item) }
|
|
77
82
|
end
|
|
78
|
-
|
|
83
|
+
# "type: object" with "additionalProperties: { ... }"
|
|
84
|
+
when /\AHash<String, (?<sub_type>.+)>\z/
|
|
79
85
|
if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
|
|
80
86
|
sub_type = Regexp.last_match[:sub_type]
|
|
81
87
|
return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
|
|
82
88
|
end
|
|
83
|
-
|
|
89
|
+
# model
|
|
90
|
+
else
|
|
84
91
|
const = Algolia::Insights.const_get(klass)
|
|
85
92
|
if const
|
|
86
|
-
|
|
93
|
+
# nested oneOf model
|
|
94
|
+
if const.respond_to?(:openapi_one_of)
|
|
87
95
|
model = const.build(data)
|
|
88
96
|
else
|
|
89
97
|
# raise if data contains keys that are not known to the model
|
|
90
98
|
raise unless (data.keys - const.acceptable_attributes).empty?
|
|
91
|
-
|
|
92
99
|
model = const.build_from_hash(data)
|
|
93
100
|
end
|
|
94
101
|
|
|
@@ -96,11 +103,13 @@ module Algolia
|
|
|
96
103
|
end
|
|
97
104
|
end
|
|
98
105
|
|
|
99
|
-
|
|
106
|
+
# if no match by now, raise
|
|
107
|
+
raise
|
|
100
108
|
rescue
|
|
101
109
|
raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
|
|
102
110
|
end
|
|
103
111
|
end
|
|
104
112
|
end
|
|
113
|
+
|
|
105
114
|
end
|
|
106
115
|
end
|