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 Analytics
|
|
@@ -24,31 +24,39 @@ module Algolia
|
|
|
24
24
|
# Attribute type mapping.
|
|
25
25
|
def self.types_mapping
|
|
26
26
|
{
|
|
27
|
-
:positions => :
|
|
27
|
+
:positions => :"Array<ClickPositionsInner>"
|
|
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::GetClickPositionsResponse` 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::GetClickPositionsResponse`. 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?(:positions)
|
|
54
62
|
if (value = attributes[:positions]).is_a?(Array)
|
|
@@ -63,15 +71,15 @@ module Algolia
|
|
|
63
71
|
# @param [Object] positions Value to be assigned
|
|
64
72
|
def positions=(positions)
|
|
65
73
|
if positions.nil?
|
|
66
|
-
raise ArgumentError,
|
|
74
|
+
raise ArgumentError, "positions cannot be nil"
|
|
67
75
|
end
|
|
68
76
|
|
|
69
77
|
if positions.length > 12
|
|
70
|
-
raise ArgumentError,
|
|
78
|
+
raise ArgumentError, "invalid value for \"positions\", number of items must be less than or equal to 12."
|
|
71
79
|
end
|
|
72
80
|
|
|
73
81
|
if positions.length < 12
|
|
74
|
-
raise ArgumentError,
|
|
82
|
+
raise ArgumentError, "invalid value for \"positions\", number of items must be greater than or equal to 12."
|
|
75
83
|
end
|
|
76
84
|
|
|
77
85
|
@positions = positions
|
|
@@ -80,8 +88,7 @@ module Algolia
|
|
|
80
88
|
# Checks equality by comparing each attribute.
|
|
81
89
|
# @param [Object] Object to be compared
|
|
82
90
|
def ==(other)
|
|
83
|
-
return true if equal?(other)
|
|
84
|
-
|
|
91
|
+
return true if self.equal?(other)
|
|
85
92
|
self.class == other.class &&
|
|
86
93
|
positions == other.positions
|
|
87
94
|
end
|
|
@@ -103,7 +110,6 @@ module Algolia
|
|
|
103
110
|
# @return [Object] Returns the model itself
|
|
104
111
|
def self.build_from_hash(attributes)
|
|
105
112
|
return nil unless attributes.is_a?(Hash)
|
|
106
|
-
|
|
107
113
|
attributes = attributes.transform_keys(&:to_sym)
|
|
108
114
|
transformed_hash = {}
|
|
109
115
|
types_mapping.each_pair do |key, type|
|
|
@@ -113,12 +119,15 @@ module Algolia
|
|
|
113
119
|
# check to ensure the input is an array given that the attribute
|
|
114
120
|
# is documented as an array but the input is not
|
|
115
121
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
116
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
122
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
123
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
124
|
+
}
|
|
117
125
|
end
|
|
118
126
|
elsif !attributes[attribute_map[key]].nil?
|
|
119
127
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
120
128
|
end
|
|
121
129
|
end
|
|
130
|
+
|
|
122
131
|
new(transformed_hash)
|
|
123
132
|
end
|
|
124
133
|
|
|
@@ -144,6 +153,7 @@ module Algolia
|
|
|
144
153
|
else
|
|
145
154
|
false
|
|
146
155
|
end
|
|
156
|
+
|
|
147
157
|
when :Object
|
|
148
158
|
# generic object (usually a Hash), return directly
|
|
149
159
|
value
|
|
@@ -158,10 +168,12 @@ module Algolia
|
|
|
158
168
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
159
169
|
end
|
|
160
170
|
end
|
|
161
|
-
|
|
171
|
+
# model
|
|
172
|
+
else
|
|
162
173
|
# models (e.g. Pet) or oneOf
|
|
163
174
|
klass = Algolia::Analytics.const_get(type)
|
|
164
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
175
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
176
|
+
.build_from_hash(value)
|
|
165
177
|
end
|
|
166
178
|
end
|
|
167
179
|
|
|
@@ -194,6 +206,7 @@ module Algolia
|
|
|
194
206
|
|
|
195
207
|
hash[param] = _to_hash(value)
|
|
196
208
|
end
|
|
209
|
+
|
|
197
210
|
hash
|
|
198
211
|
end
|
|
199
212
|
|
|
@@ -208,12 +221,14 @@ module Algolia
|
|
|
208
221
|
{}.tap do |hash|
|
|
209
222
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
210
223
|
end
|
|
211
|
-
elsif value.respond_to?
|
|
224
|
+
elsif value.respond_to?(:to_hash)
|
|
212
225
|
value.to_hash
|
|
213
226
|
else
|
|
214
227
|
value
|
|
215
228
|
end
|
|
216
229
|
end
|
|
230
|
+
|
|
217
231
|
end
|
|
232
|
+
|
|
218
233
|
end
|
|
219
234
|
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 Analytics
|
|
@@ -36,36 +36,44 @@ module Algolia
|
|
|
36
36
|
# Attribute type mapping.
|
|
37
37
|
def self.types_mapping
|
|
38
38
|
{
|
|
39
|
-
:rate => :Float,
|
|
40
|
-
:click_count => :Integer,
|
|
41
|
-
:tracked_search_count => :Integer,
|
|
42
|
-
:dates => :
|
|
39
|
+
:rate => :"Float",
|
|
40
|
+
:click_count => :"Integer",
|
|
41
|
+
:tracked_search_count => :"Integer",
|
|
42
|
+
:dates => :"Array<DailyClickThroughRates>"
|
|
43
43
|
}
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
# List of attributes with nullable: true
|
|
47
47
|
def self.openapi_nullable
|
|
48
|
-
Set.new(
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
Set.new(
|
|
49
|
+
[
|
|
50
|
+
:rate
|
|
51
|
+
]
|
|
52
|
+
)
|
|
51
53
|
end
|
|
52
54
|
|
|
53
55
|
# Initializes the object
|
|
54
56
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
55
57
|
def initialize(attributes = {})
|
|
56
|
-
|
|
57
|
-
raise
|
|
58
|
+
if (!attributes.is_a?(Hash))
|
|
59
|
+
raise(
|
|
60
|
+
ArgumentError,
|
|
61
|
+
"The input argument (attributes) must be a hash in `Algolia::GetClickThroughRateResponse` initialize method"
|
|
62
|
+
)
|
|
58
63
|
end
|
|
59
64
|
|
|
60
65
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
61
|
-
attributes = attributes.each_with_object({})
|
|
62
|
-
|
|
63
|
-
raise
|
|
64
|
-
|
|
66
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
67
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
68
|
+
raise(
|
|
69
|
+
ArgumentError,
|
|
70
|
+
"`#{k}` is not a valid attribute in `Algolia::GetClickThroughRateResponse`. Please check the name to make sure it's valid. List of attributes: " +
|
|
71
|
+
self.class.attribute_map.keys.inspect
|
|
72
|
+
)
|
|
65
73
|
end
|
|
66
74
|
|
|
67
75
|
h[k.to_sym] = v
|
|
68
|
-
|
|
76
|
+
}
|
|
69
77
|
|
|
70
78
|
if attributes.key?(:rate)
|
|
71
79
|
self.rate = attributes[:rate]
|
|
@@ -98,11 +106,11 @@ module Algolia
|
|
|
98
106
|
# @param [Object] rate Value to be assigned
|
|
99
107
|
def rate=(rate)
|
|
100
108
|
if !rate.nil? && rate > 1
|
|
101
|
-
raise ArgumentError,
|
|
109
|
+
raise ArgumentError, "invalid value for \"rate\", must be smaller than or equal to 1."
|
|
102
110
|
end
|
|
103
111
|
|
|
104
112
|
if !rate.nil? && rate < 0
|
|
105
|
-
raise ArgumentError,
|
|
113
|
+
raise ArgumentError, "invalid value for \"rate\", must be greater than or equal to 0."
|
|
106
114
|
end
|
|
107
115
|
|
|
108
116
|
@rate = rate
|
|
@@ -112,11 +120,11 @@ module Algolia
|
|
|
112
120
|
# @param [Object] click_count Value to be assigned
|
|
113
121
|
def click_count=(click_count)
|
|
114
122
|
if click_count.nil?
|
|
115
|
-
raise ArgumentError,
|
|
123
|
+
raise ArgumentError, "click_count cannot be nil"
|
|
116
124
|
end
|
|
117
125
|
|
|
118
126
|
if click_count < 0
|
|
119
|
-
raise ArgumentError,
|
|
127
|
+
raise ArgumentError, "invalid value for \"click_count\", must be greater than or equal to 0."
|
|
120
128
|
end
|
|
121
129
|
|
|
122
130
|
@click_count = click_count
|
|
@@ -125,8 +133,7 @@ module Algolia
|
|
|
125
133
|
# Checks equality by comparing each attribute.
|
|
126
134
|
# @param [Object] Object to be compared
|
|
127
135
|
def ==(other)
|
|
128
|
-
return true if equal?(other)
|
|
129
|
-
|
|
136
|
+
return true if self.equal?(other)
|
|
130
137
|
self.class == other.class &&
|
|
131
138
|
rate == other.rate &&
|
|
132
139
|
click_count == other.click_count &&
|
|
@@ -151,7 +158,6 @@ module Algolia
|
|
|
151
158
|
# @return [Object] Returns the model itself
|
|
152
159
|
def self.build_from_hash(attributes)
|
|
153
160
|
return nil unless attributes.is_a?(Hash)
|
|
154
|
-
|
|
155
161
|
attributes = attributes.transform_keys(&:to_sym)
|
|
156
162
|
transformed_hash = {}
|
|
157
163
|
types_mapping.each_pair do |key, type|
|
|
@@ -161,12 +167,15 @@ module Algolia
|
|
|
161
167
|
# check to ensure the input is an array given that the attribute
|
|
162
168
|
# is documented as an array but the input is not
|
|
163
169
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
164
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
170
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
171
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
172
|
+
}
|
|
165
173
|
end
|
|
166
174
|
elsif !attributes[attribute_map[key]].nil?
|
|
167
175
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
168
176
|
end
|
|
169
177
|
end
|
|
178
|
+
|
|
170
179
|
new(transformed_hash)
|
|
171
180
|
end
|
|
172
181
|
|
|
@@ -192,6 +201,7 @@ module Algolia
|
|
|
192
201
|
else
|
|
193
202
|
false
|
|
194
203
|
end
|
|
204
|
+
|
|
195
205
|
when :Object
|
|
196
206
|
# generic object (usually a Hash), return directly
|
|
197
207
|
value
|
|
@@ -206,10 +216,12 @@ module Algolia
|
|
|
206
216
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
207
217
|
end
|
|
208
218
|
end
|
|
209
|
-
|
|
219
|
+
# model
|
|
220
|
+
else
|
|
210
221
|
# models (e.g. Pet) or oneOf
|
|
211
222
|
klass = Algolia::Analytics.const_get(type)
|
|
212
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
223
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
224
|
+
.build_from_hash(value)
|
|
213
225
|
end
|
|
214
226
|
end
|
|
215
227
|
|
|
@@ -242,6 +254,7 @@ module Algolia
|
|
|
242
254
|
|
|
243
255
|
hash[param] = _to_hash(value)
|
|
244
256
|
end
|
|
257
|
+
|
|
245
258
|
hash
|
|
246
259
|
end
|
|
247
260
|
|
|
@@ -256,12 +269,14 @@ module Algolia
|
|
|
256
269
|
{}.tap do |hash|
|
|
257
270
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
258
271
|
end
|
|
259
|
-
elsif value.respond_to?
|
|
272
|
+
elsif value.respond_to?(:to_hash)
|
|
260
273
|
value.to_hash
|
|
261
274
|
else
|
|
262
275
|
value
|
|
263
276
|
end
|
|
264
277
|
end
|
|
278
|
+
|
|
265
279
|
end
|
|
280
|
+
|
|
266
281
|
end
|
|
267
282
|
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 Analytics
|
|
@@ -36,36 +36,44 @@ module Algolia
|
|
|
36
36
|
# Attribute type mapping.
|
|
37
37
|
def self.types_mapping
|
|
38
38
|
{
|
|
39
|
-
:rate => :Float,
|
|
40
|
-
:tracked_search_count => :Integer,
|
|
41
|
-
:conversion_count => :Integer,
|
|
42
|
-
:dates => :
|
|
39
|
+
:rate => :"Float",
|
|
40
|
+
:tracked_search_count => :"Integer",
|
|
41
|
+
:conversion_count => :"Integer",
|
|
42
|
+
:dates => :"Array<DailyConversionRates>"
|
|
43
43
|
}
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
# List of attributes with nullable: true
|
|
47
47
|
def self.openapi_nullable
|
|
48
|
-
Set.new(
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
Set.new(
|
|
49
|
+
[
|
|
50
|
+
:rate
|
|
51
|
+
]
|
|
52
|
+
)
|
|
51
53
|
end
|
|
52
54
|
|
|
53
55
|
# Initializes the object
|
|
54
56
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
55
57
|
def initialize(attributes = {})
|
|
56
|
-
|
|
57
|
-
raise
|
|
58
|
+
if (!attributes.is_a?(Hash))
|
|
59
|
+
raise(
|
|
60
|
+
ArgumentError,
|
|
61
|
+
"The input argument (attributes) must be a hash in `Algolia::GetConversionRateResponse` initialize method"
|
|
62
|
+
)
|
|
58
63
|
end
|
|
59
64
|
|
|
60
65
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
61
|
-
attributes = attributes.each_with_object({})
|
|
62
|
-
|
|
63
|
-
raise
|
|
64
|
-
|
|
66
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
67
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
68
|
+
raise(
|
|
69
|
+
ArgumentError,
|
|
70
|
+
"`#{k}` is not a valid attribute in `Algolia::GetConversionRateResponse`. Please check the name to make sure it's valid. List of attributes: " +
|
|
71
|
+
self.class.attribute_map.keys.inspect
|
|
72
|
+
)
|
|
65
73
|
end
|
|
66
74
|
|
|
67
75
|
h[k.to_sym] = v
|
|
68
|
-
|
|
76
|
+
}
|
|
69
77
|
|
|
70
78
|
if attributes.key?(:rate)
|
|
71
79
|
self.rate = attributes[:rate]
|
|
@@ -98,11 +106,11 @@ module Algolia
|
|
|
98
106
|
# @param [Object] rate Value to be assigned
|
|
99
107
|
def rate=(rate)
|
|
100
108
|
if !rate.nil? && rate > 1
|
|
101
|
-
raise ArgumentError,
|
|
109
|
+
raise ArgumentError, "invalid value for \"rate\", must be smaller than or equal to 1."
|
|
102
110
|
end
|
|
103
111
|
|
|
104
112
|
if !rate.nil? && rate < 0
|
|
105
|
-
raise ArgumentError,
|
|
113
|
+
raise ArgumentError, "invalid value for \"rate\", must be greater than or equal to 0."
|
|
106
114
|
end
|
|
107
115
|
|
|
108
116
|
@rate = rate
|
|
@@ -112,11 +120,11 @@ module Algolia
|
|
|
112
120
|
# @param [Object] conversion_count Value to be assigned
|
|
113
121
|
def conversion_count=(conversion_count)
|
|
114
122
|
if conversion_count.nil?
|
|
115
|
-
raise ArgumentError,
|
|
123
|
+
raise ArgumentError, "conversion_count cannot be nil"
|
|
116
124
|
end
|
|
117
125
|
|
|
118
126
|
if conversion_count < 0
|
|
119
|
-
raise ArgumentError,
|
|
127
|
+
raise ArgumentError, "invalid value for \"conversion_count\", must be greater than or equal to 0."
|
|
120
128
|
end
|
|
121
129
|
|
|
122
130
|
@conversion_count = conversion_count
|
|
@@ -125,8 +133,7 @@ module Algolia
|
|
|
125
133
|
# Checks equality by comparing each attribute.
|
|
126
134
|
# @param [Object] Object to be compared
|
|
127
135
|
def ==(other)
|
|
128
|
-
return true if equal?(other)
|
|
129
|
-
|
|
136
|
+
return true if self.equal?(other)
|
|
130
137
|
self.class == other.class &&
|
|
131
138
|
rate == other.rate &&
|
|
132
139
|
tracked_search_count == other.tracked_search_count &&
|
|
@@ -151,7 +158,6 @@ module Algolia
|
|
|
151
158
|
# @return [Object] Returns the model itself
|
|
152
159
|
def self.build_from_hash(attributes)
|
|
153
160
|
return nil unless attributes.is_a?(Hash)
|
|
154
|
-
|
|
155
161
|
attributes = attributes.transform_keys(&:to_sym)
|
|
156
162
|
transformed_hash = {}
|
|
157
163
|
types_mapping.each_pair do |key, type|
|
|
@@ -161,12 +167,15 @@ module Algolia
|
|
|
161
167
|
# check to ensure the input is an array given that the attribute
|
|
162
168
|
# is documented as an array but the input is not
|
|
163
169
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
164
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
170
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
171
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
172
|
+
}
|
|
165
173
|
end
|
|
166
174
|
elsif !attributes[attribute_map[key]].nil?
|
|
167
175
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
168
176
|
end
|
|
169
177
|
end
|
|
178
|
+
|
|
170
179
|
new(transformed_hash)
|
|
171
180
|
end
|
|
172
181
|
|
|
@@ -192,6 +201,7 @@ module Algolia
|
|
|
192
201
|
else
|
|
193
202
|
false
|
|
194
203
|
end
|
|
204
|
+
|
|
195
205
|
when :Object
|
|
196
206
|
# generic object (usually a Hash), return directly
|
|
197
207
|
value
|
|
@@ -206,10 +216,12 @@ module Algolia
|
|
|
206
216
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
207
217
|
end
|
|
208
218
|
end
|
|
209
|
-
|
|
219
|
+
# model
|
|
220
|
+
else
|
|
210
221
|
# models (e.g. Pet) or oneOf
|
|
211
222
|
klass = Algolia::Analytics.const_get(type)
|
|
212
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
223
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
224
|
+
.build_from_hash(value)
|
|
213
225
|
end
|
|
214
226
|
end
|
|
215
227
|
|
|
@@ -242,6 +254,7 @@ module Algolia
|
|
|
242
254
|
|
|
243
255
|
hash[param] = _to_hash(value)
|
|
244
256
|
end
|
|
257
|
+
|
|
245
258
|
hash
|
|
246
259
|
end
|
|
247
260
|
|
|
@@ -256,12 +269,14 @@ module Algolia
|
|
|
256
269
|
{}.tap do |hash|
|
|
257
270
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
258
271
|
end
|
|
259
|
-
elsif value.respond_to?
|
|
272
|
+
elsif value.respond_to?(:to_hash)
|
|
260
273
|
value.to_hash
|
|
261
274
|
else
|
|
262
275
|
value
|
|
263
276
|
end
|
|
264
277
|
end
|
|
278
|
+
|
|
265
279
|
end
|
|
280
|
+
|
|
266
281
|
end
|
|
267
282
|
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 Analytics
|
|
@@ -36,34 +36,42 @@ module Algolia
|
|
|
36
36
|
# Attribute type mapping.
|
|
37
37
|
def self.types_mapping
|
|
38
38
|
{
|
|
39
|
-
:rate => :Float,
|
|
40
|
-
:count => :Integer,
|
|
41
|
-
:no_click_count => :Integer,
|
|
42
|
-
:dates => :
|
|
39
|
+
:rate => :"Float",
|
|
40
|
+
:count => :"Integer",
|
|
41
|
+
:no_click_count => :"Integer",
|
|
42
|
+
:dates => :"Array<DailyNoClickRates>"
|
|
43
43
|
}
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
# List of attributes with nullable: true
|
|
47
47
|
def self.openapi_nullable
|
|
48
|
-
Set.new(
|
|
48
|
+
Set.new(
|
|
49
|
+
[]
|
|
50
|
+
)
|
|
49
51
|
end
|
|
50
52
|
|
|
51
53
|
# Initializes the object
|
|
52
54
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
53
55
|
def initialize(attributes = {})
|
|
54
|
-
|
|
55
|
-
raise
|
|
56
|
+
if (!attributes.is_a?(Hash))
|
|
57
|
+
raise(
|
|
58
|
+
ArgumentError,
|
|
59
|
+
"The input argument (attributes) must be a hash in `Algolia::GetNoClickRateResponse` initialize method"
|
|
60
|
+
)
|
|
56
61
|
end
|
|
57
62
|
|
|
58
63
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
59
|
-
attributes = attributes.each_with_object({})
|
|
60
|
-
|
|
61
|
-
raise
|
|
62
|
-
|
|
64
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
65
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
66
|
+
raise(
|
|
67
|
+
ArgumentError,
|
|
68
|
+
"`#{k}` is not a valid attribute in `Algolia::GetNoClickRateResponse`. Please check the name to make sure it's valid. List of attributes: " +
|
|
69
|
+
self.class.attribute_map.keys.inspect
|
|
70
|
+
)
|
|
63
71
|
end
|
|
64
72
|
|
|
65
73
|
h[k.to_sym] = v
|
|
66
|
-
|
|
74
|
+
}
|
|
67
75
|
|
|
68
76
|
if attributes.key?(:rate)
|
|
69
77
|
self.rate = attributes[:rate]
|
|
@@ -96,15 +104,15 @@ module Algolia
|
|
|
96
104
|
# @param [Object] rate Value to be assigned
|
|
97
105
|
def rate=(rate)
|
|
98
106
|
if rate.nil?
|
|
99
|
-
raise ArgumentError,
|
|
107
|
+
raise ArgumentError, "rate cannot be nil"
|
|
100
108
|
end
|
|
101
109
|
|
|
102
110
|
if rate > 1
|
|
103
|
-
raise ArgumentError,
|
|
111
|
+
raise ArgumentError, "invalid value for \"rate\", must be smaller than or equal to 1."
|
|
104
112
|
end
|
|
105
113
|
|
|
106
114
|
if rate < 0
|
|
107
|
-
raise ArgumentError,
|
|
115
|
+
raise ArgumentError, "invalid value for \"rate\", must be greater than or equal to 0."
|
|
108
116
|
end
|
|
109
117
|
|
|
110
118
|
@rate = rate
|
|
@@ -114,11 +122,11 @@ module Algolia
|
|
|
114
122
|
# @param [Object] no_click_count Value to be assigned
|
|
115
123
|
def no_click_count=(no_click_count)
|
|
116
124
|
if no_click_count.nil?
|
|
117
|
-
raise ArgumentError,
|
|
125
|
+
raise ArgumentError, "no_click_count cannot be nil"
|
|
118
126
|
end
|
|
119
127
|
|
|
120
128
|
if no_click_count < 1
|
|
121
|
-
raise ArgumentError,
|
|
129
|
+
raise ArgumentError, "invalid value for \"no_click_count\", must be greater than or equal to 1."
|
|
122
130
|
end
|
|
123
131
|
|
|
124
132
|
@no_click_count = no_click_count
|
|
@@ -127,8 +135,7 @@ module Algolia
|
|
|
127
135
|
# Checks equality by comparing each attribute.
|
|
128
136
|
# @param [Object] Object to be compared
|
|
129
137
|
def ==(other)
|
|
130
|
-
return true if equal?(other)
|
|
131
|
-
|
|
138
|
+
return true if self.equal?(other)
|
|
132
139
|
self.class == other.class &&
|
|
133
140
|
rate == other.rate &&
|
|
134
141
|
count == other.count &&
|
|
@@ -153,7 +160,6 @@ module Algolia
|
|
|
153
160
|
# @return [Object] Returns the model itself
|
|
154
161
|
def self.build_from_hash(attributes)
|
|
155
162
|
return nil unless attributes.is_a?(Hash)
|
|
156
|
-
|
|
157
163
|
attributes = attributes.transform_keys(&:to_sym)
|
|
158
164
|
transformed_hash = {}
|
|
159
165
|
types_mapping.each_pair do |key, type|
|
|
@@ -163,12 +169,15 @@ module Algolia
|
|
|
163
169
|
# check to ensure the input is an array given that the attribute
|
|
164
170
|
# is documented as an array but the input is not
|
|
165
171
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
166
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
172
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
173
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
174
|
+
}
|
|
167
175
|
end
|
|
168
176
|
elsif !attributes[attribute_map[key]].nil?
|
|
169
177
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
170
178
|
end
|
|
171
179
|
end
|
|
180
|
+
|
|
172
181
|
new(transformed_hash)
|
|
173
182
|
end
|
|
174
183
|
|
|
@@ -194,6 +203,7 @@ module Algolia
|
|
|
194
203
|
else
|
|
195
204
|
false
|
|
196
205
|
end
|
|
206
|
+
|
|
197
207
|
when :Object
|
|
198
208
|
# generic object (usually a Hash), return directly
|
|
199
209
|
value
|
|
@@ -208,10 +218,12 @@ module Algolia
|
|
|
208
218
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
209
219
|
end
|
|
210
220
|
end
|
|
211
|
-
|
|
221
|
+
# model
|
|
222
|
+
else
|
|
212
223
|
# models (e.g. Pet) or oneOf
|
|
213
224
|
klass = Algolia::Analytics.const_get(type)
|
|
214
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
225
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
226
|
+
.build_from_hash(value)
|
|
215
227
|
end
|
|
216
228
|
end
|
|
217
229
|
|
|
@@ -244,6 +256,7 @@ module Algolia
|
|
|
244
256
|
|
|
245
257
|
hash[param] = _to_hash(value)
|
|
246
258
|
end
|
|
259
|
+
|
|
247
260
|
hash
|
|
248
261
|
end
|
|
249
262
|
|
|
@@ -258,12 +271,14 @@ module Algolia
|
|
|
258
271
|
{}.tap do |hash|
|
|
259
272
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
260
273
|
end
|
|
261
|
-
elsif value.respond_to?
|
|
274
|
+
elsif value.respond_to?(:to_hash)
|
|
262
275
|
value.to_hash
|
|
263
276
|
else
|
|
264
277
|
value
|
|
265
278
|
end
|
|
266
279
|
end
|
|
280
|
+
|
|
267
281
|
end
|
|
282
|
+
|
|
268
283
|
end
|
|
269
284
|
end
|