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 Ingestion
|
|
@@ -83,41 +83,46 @@ module Algolia
|
|
|
83
83
|
# Attribute type mapping.
|
|
84
84
|
def self.types_mapping
|
|
85
85
|
{
|
|
86
|
-
:task_id => :String,
|
|
87
|
-
:source_id => :String,
|
|
88
|
-
:destination_id => :String,
|
|
89
|
-
:trigger => :Trigger,
|
|
90
|
-
:input => :TaskInput,
|
|
91
|
-
:enabled => :Boolean,
|
|
92
|
-
:failure_threshold => :Integer,
|
|
93
|
-
:action => :ActionType,
|
|
94
|
-
:cursor => :String,
|
|
95
|
-
:created_at => :String,
|
|
96
|
-
:updated_at => :String
|
|
86
|
+
:task_id => :"String",
|
|
87
|
+
:source_id => :"String",
|
|
88
|
+
:destination_id => :"String",
|
|
89
|
+
:trigger => :"Trigger",
|
|
90
|
+
:input => :"TaskInput",
|
|
91
|
+
:enabled => :"Boolean",
|
|
92
|
+
:failure_threshold => :"Integer",
|
|
93
|
+
:action => :"ActionType",
|
|
94
|
+
:cursor => :"String",
|
|
95
|
+
:created_at => :"String",
|
|
96
|
+
:updated_at => :"String"
|
|
97
97
|
}
|
|
98
98
|
end
|
|
99
99
|
|
|
100
100
|
# List of attributes with nullable: true
|
|
101
101
|
def self.openapi_nullable
|
|
102
|
-
Set.new(
|
|
102
|
+
Set.new(
|
|
103
|
+
[]
|
|
104
|
+
)
|
|
103
105
|
end
|
|
104
106
|
|
|
105
107
|
# Initializes the object
|
|
106
108
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
107
109
|
def initialize(attributes = {})
|
|
108
|
-
|
|
110
|
+
if (!attributes.is_a?(Hash))
|
|
109
111
|
raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Task` initialize method"
|
|
110
112
|
end
|
|
111
113
|
|
|
112
114
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
113
|
-
attributes = attributes.each_with_object({})
|
|
114
|
-
|
|
115
|
-
raise
|
|
116
|
-
|
|
115
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
116
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
117
|
+
raise(
|
|
118
|
+
ArgumentError,
|
|
119
|
+
"`#{k}` is not a valid attribute in `Algolia::Task`. Please check the name to make sure it's valid. List of attributes: " +
|
|
120
|
+
self.class.attribute_map.keys.inspect
|
|
121
|
+
)
|
|
117
122
|
end
|
|
118
123
|
|
|
119
124
|
h[k.to_sym] = v
|
|
120
|
-
|
|
125
|
+
}
|
|
121
126
|
|
|
122
127
|
if attributes.key?(:task_id)
|
|
123
128
|
self.task_id = attributes[:task_id]
|
|
@@ -182,15 +187,15 @@ module Algolia
|
|
|
182
187
|
# @param [Object] failure_threshold Value to be assigned
|
|
183
188
|
def failure_threshold=(failure_threshold)
|
|
184
189
|
if failure_threshold.nil?
|
|
185
|
-
raise ArgumentError,
|
|
190
|
+
raise ArgumentError, "failure_threshold cannot be nil"
|
|
186
191
|
end
|
|
187
192
|
|
|
188
193
|
if failure_threshold > 100
|
|
189
|
-
raise ArgumentError,
|
|
194
|
+
raise ArgumentError, "invalid value for \"failure_threshold\", must be smaller than or equal to 100."
|
|
190
195
|
end
|
|
191
196
|
|
|
192
197
|
if failure_threshold < 0
|
|
193
|
-
raise ArgumentError,
|
|
198
|
+
raise ArgumentError, "invalid value for \"failure_threshold\", must be greater than or equal to 0."
|
|
194
199
|
end
|
|
195
200
|
|
|
196
201
|
@failure_threshold = failure_threshold
|
|
@@ -199,8 +204,7 @@ module Algolia
|
|
|
199
204
|
# Checks equality by comparing each attribute.
|
|
200
205
|
# @param [Object] Object to be compared
|
|
201
206
|
def ==(other)
|
|
202
|
-
return true if equal?(other)
|
|
203
|
-
|
|
207
|
+
return true if self.equal?(other)
|
|
204
208
|
self.class == other.class &&
|
|
205
209
|
task_id == other.task_id &&
|
|
206
210
|
source_id == other.source_id &&
|
|
@@ -224,7 +228,19 @@ module Algolia
|
|
|
224
228
|
# Calculates hash code according to all attributes.
|
|
225
229
|
# @return [Integer] Hash code
|
|
226
230
|
def hash
|
|
227
|
-
[
|
|
231
|
+
[
|
|
232
|
+
task_id,
|
|
233
|
+
source_id,
|
|
234
|
+
destination_id,
|
|
235
|
+
trigger,
|
|
236
|
+
input,
|
|
237
|
+
enabled,
|
|
238
|
+
failure_threshold,
|
|
239
|
+
action,
|
|
240
|
+
cursor,
|
|
241
|
+
created_at,
|
|
242
|
+
updated_at
|
|
243
|
+
].hash
|
|
228
244
|
end
|
|
229
245
|
|
|
230
246
|
# Builds the object from hash
|
|
@@ -232,7 +248,6 @@ module Algolia
|
|
|
232
248
|
# @return [Object] Returns the model itself
|
|
233
249
|
def self.build_from_hash(attributes)
|
|
234
250
|
return nil unless attributes.is_a?(Hash)
|
|
235
|
-
|
|
236
251
|
attributes = attributes.transform_keys(&:to_sym)
|
|
237
252
|
transformed_hash = {}
|
|
238
253
|
types_mapping.each_pair do |key, type|
|
|
@@ -242,12 +257,15 @@ module Algolia
|
|
|
242
257
|
# check to ensure the input is an array given that the attribute
|
|
243
258
|
# is documented as an array but the input is not
|
|
244
259
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
245
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
260
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
261
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
262
|
+
}
|
|
246
263
|
end
|
|
247
264
|
elsif !attributes[attribute_map[key]].nil?
|
|
248
265
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
249
266
|
end
|
|
250
267
|
end
|
|
268
|
+
|
|
251
269
|
new(transformed_hash)
|
|
252
270
|
end
|
|
253
271
|
|
|
@@ -273,6 +291,7 @@ module Algolia
|
|
|
273
291
|
else
|
|
274
292
|
false
|
|
275
293
|
end
|
|
294
|
+
|
|
276
295
|
when :Object
|
|
277
296
|
# generic object (usually a Hash), return directly
|
|
278
297
|
value
|
|
@@ -287,10 +306,12 @@ module Algolia
|
|
|
287
306
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
288
307
|
end
|
|
289
308
|
end
|
|
290
|
-
|
|
309
|
+
# model
|
|
310
|
+
else
|
|
291
311
|
# models (e.g. Pet) or oneOf
|
|
292
312
|
klass = Algolia::Ingestion.const_get(type)
|
|
293
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
313
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
314
|
+
.build_from_hash(value)
|
|
294
315
|
end
|
|
295
316
|
end
|
|
296
317
|
|
|
@@ -323,6 +344,7 @@ module Algolia
|
|
|
323
344
|
|
|
324
345
|
hash[param] = _to_hash(value)
|
|
325
346
|
end
|
|
347
|
+
|
|
326
348
|
hash
|
|
327
349
|
end
|
|
328
350
|
|
|
@@ -337,12 +359,14 @@ module Algolia
|
|
|
337
359
|
{}.tap do |hash|
|
|
338
360
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
339
361
|
end
|
|
340
|
-
elsif value.respond_to?
|
|
362
|
+
elsif value.respond_to?(:to_hash)
|
|
341
363
|
value.to_hash
|
|
342
364
|
else
|
|
343
365
|
value
|
|
344
366
|
end
|
|
345
367
|
end
|
|
368
|
+
|
|
346
369
|
end
|
|
370
|
+
|
|
347
371
|
end
|
|
348
372
|
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 Ingestion
|
|
@@ -72,38 +72,46 @@ module Algolia
|
|
|
72
72
|
# Attribute type mapping.
|
|
73
73
|
def self.types_mapping
|
|
74
74
|
{
|
|
75
|
-
:source_id => :String,
|
|
76
|
-
:destination_id => :String,
|
|
77
|
-
:trigger => :TaskCreateTrigger,
|
|
78
|
-
:action => :ActionType,
|
|
79
|
-
:enabled => :Boolean,
|
|
80
|
-
:failure_threshold => :Integer,
|
|
81
|
-
:input => :TaskInput,
|
|
82
|
-
:cursor => :String
|
|
75
|
+
:source_id => :"String",
|
|
76
|
+
:destination_id => :"String",
|
|
77
|
+
:trigger => :"TaskCreateTrigger",
|
|
78
|
+
:action => :"ActionType",
|
|
79
|
+
:enabled => :"Boolean",
|
|
80
|
+
:failure_threshold => :"Integer",
|
|
81
|
+
:input => :"TaskInput",
|
|
82
|
+
:cursor => :"String"
|
|
83
83
|
}
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
# List of attributes with nullable: true
|
|
87
87
|
def self.openapi_nullable
|
|
88
|
-
Set.new(
|
|
88
|
+
Set.new(
|
|
89
|
+
[]
|
|
90
|
+
)
|
|
89
91
|
end
|
|
90
92
|
|
|
91
93
|
# Initializes the object
|
|
92
94
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
93
95
|
def initialize(attributes = {})
|
|
94
|
-
|
|
95
|
-
raise
|
|
96
|
+
if (!attributes.is_a?(Hash))
|
|
97
|
+
raise(
|
|
98
|
+
ArgumentError,
|
|
99
|
+
"The input argument (attributes) must be a hash in `Algolia::TaskCreate` initialize method"
|
|
100
|
+
)
|
|
96
101
|
end
|
|
97
102
|
|
|
98
103
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
99
|
-
attributes = attributes.each_with_object({})
|
|
100
|
-
|
|
101
|
-
raise
|
|
102
|
-
|
|
104
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
105
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
106
|
+
raise(
|
|
107
|
+
ArgumentError,
|
|
108
|
+
"`#{k}` is not a valid attribute in `Algolia::TaskCreate`. Please check the name to make sure it's valid. List of attributes: " +
|
|
109
|
+
self.class.attribute_map.keys.inspect
|
|
110
|
+
)
|
|
103
111
|
end
|
|
104
112
|
|
|
105
113
|
h[k.to_sym] = v
|
|
106
|
-
|
|
114
|
+
}
|
|
107
115
|
|
|
108
116
|
if attributes.key?(:source_id)
|
|
109
117
|
self.source_id = attributes[:source_id]
|
|
@@ -150,15 +158,15 @@ module Algolia
|
|
|
150
158
|
# @param [Object] failure_threshold Value to be assigned
|
|
151
159
|
def failure_threshold=(failure_threshold)
|
|
152
160
|
if failure_threshold.nil?
|
|
153
|
-
raise ArgumentError,
|
|
161
|
+
raise ArgumentError, "failure_threshold cannot be nil"
|
|
154
162
|
end
|
|
155
163
|
|
|
156
164
|
if failure_threshold > 100
|
|
157
|
-
raise ArgumentError,
|
|
165
|
+
raise ArgumentError, "invalid value for \"failure_threshold\", must be smaller than or equal to 100."
|
|
158
166
|
end
|
|
159
167
|
|
|
160
168
|
if failure_threshold < 0
|
|
161
|
-
raise ArgumentError,
|
|
169
|
+
raise ArgumentError, "invalid value for \"failure_threshold\", must be greater than or equal to 0."
|
|
162
170
|
end
|
|
163
171
|
|
|
164
172
|
@failure_threshold = failure_threshold
|
|
@@ -167,8 +175,7 @@ module Algolia
|
|
|
167
175
|
# Checks equality by comparing each attribute.
|
|
168
176
|
# @param [Object] Object to be compared
|
|
169
177
|
def ==(other)
|
|
170
|
-
return true if equal?(other)
|
|
171
|
-
|
|
178
|
+
return true if self.equal?(other)
|
|
172
179
|
self.class == other.class &&
|
|
173
180
|
source_id == other.source_id &&
|
|
174
181
|
destination_id == other.destination_id &&
|
|
@@ -197,7 +204,6 @@ module Algolia
|
|
|
197
204
|
# @return [Object] Returns the model itself
|
|
198
205
|
def self.build_from_hash(attributes)
|
|
199
206
|
return nil unless attributes.is_a?(Hash)
|
|
200
|
-
|
|
201
207
|
attributes = attributes.transform_keys(&:to_sym)
|
|
202
208
|
transformed_hash = {}
|
|
203
209
|
types_mapping.each_pair do |key, type|
|
|
@@ -207,12 +213,15 @@ module Algolia
|
|
|
207
213
|
# check to ensure the input is an array given that the attribute
|
|
208
214
|
# is documented as an array but the input is not
|
|
209
215
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
210
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
216
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
217
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
218
|
+
}
|
|
211
219
|
end
|
|
212
220
|
elsif !attributes[attribute_map[key]].nil?
|
|
213
221
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
214
222
|
end
|
|
215
223
|
end
|
|
224
|
+
|
|
216
225
|
new(transformed_hash)
|
|
217
226
|
end
|
|
218
227
|
|
|
@@ -238,6 +247,7 @@ module Algolia
|
|
|
238
247
|
else
|
|
239
248
|
false
|
|
240
249
|
end
|
|
250
|
+
|
|
241
251
|
when :Object
|
|
242
252
|
# generic object (usually a Hash), return directly
|
|
243
253
|
value
|
|
@@ -252,10 +262,12 @@ module Algolia
|
|
|
252
262
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
253
263
|
end
|
|
254
264
|
end
|
|
255
|
-
|
|
265
|
+
# model
|
|
266
|
+
else
|
|
256
267
|
# models (e.g. Pet) or oneOf
|
|
257
268
|
klass = Algolia::Ingestion.const_get(type)
|
|
258
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
269
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
270
|
+
.build_from_hash(value)
|
|
259
271
|
end
|
|
260
272
|
end
|
|
261
273
|
|
|
@@ -288,6 +300,7 @@ module Algolia
|
|
|
288
300
|
|
|
289
301
|
hash[param] = _to_hash(value)
|
|
290
302
|
end
|
|
303
|
+
|
|
291
304
|
hash
|
|
292
305
|
end
|
|
293
306
|
|
|
@@ -302,12 +315,14 @@ module Algolia
|
|
|
302
315
|
{}.tap do |hash|
|
|
303
316
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
304
317
|
end
|
|
305
|
-
elsif value.respond_to?
|
|
318
|
+
elsif value.respond_to?(:to_hash)
|
|
306
319
|
value.to_hash
|
|
307
320
|
else
|
|
308
321
|
value
|
|
309
322
|
end
|
|
310
323
|
end
|
|
324
|
+
|
|
311
325
|
end
|
|
326
|
+
|
|
312
327
|
end
|
|
313
328
|
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 Ingestion
|
|
@@ -29,32 +29,40 @@ module Algolia
|
|
|
29
29
|
# Attribute type mapping.
|
|
30
30
|
def self.types_mapping
|
|
31
31
|
{
|
|
32
|
-
:task_id => :String,
|
|
33
|
-
:created_at => :String
|
|
32
|
+
:task_id => :"String",
|
|
33
|
+
:created_at => :"String"
|
|
34
34
|
}
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
# List of attributes with nullable: true
|
|
38
38
|
def self.openapi_nullable
|
|
39
|
-
Set.new(
|
|
39
|
+
Set.new(
|
|
40
|
+
[]
|
|
41
|
+
)
|
|
40
42
|
end
|
|
41
43
|
|
|
42
44
|
# Initializes the object
|
|
43
45
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
44
46
|
def initialize(attributes = {})
|
|
45
|
-
|
|
46
|
-
raise
|
|
47
|
+
if (!attributes.is_a?(Hash))
|
|
48
|
+
raise(
|
|
49
|
+
ArgumentError,
|
|
50
|
+
"The input argument (attributes) must be a hash in `Algolia::TaskCreateResponse` initialize method"
|
|
51
|
+
)
|
|
47
52
|
end
|
|
48
53
|
|
|
49
54
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
50
|
-
attributes = attributes.each_with_object({})
|
|
51
|
-
|
|
52
|
-
raise
|
|
53
|
-
|
|
55
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
56
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
57
|
+
raise(
|
|
58
|
+
ArgumentError,
|
|
59
|
+
"`#{k}` is not a valid attribute in `Algolia::TaskCreateResponse`. Please check the name to make sure it's valid. List of attributes: " +
|
|
60
|
+
self.class.attribute_map.keys.inspect
|
|
61
|
+
)
|
|
54
62
|
end
|
|
55
63
|
|
|
56
64
|
h[k.to_sym] = v
|
|
57
|
-
|
|
65
|
+
}
|
|
58
66
|
|
|
59
67
|
if attributes.key?(:task_id)
|
|
60
68
|
self.task_id = attributes[:task_id]
|
|
@@ -72,8 +80,7 @@ module Algolia
|
|
|
72
80
|
# Checks equality by comparing each attribute.
|
|
73
81
|
# @param [Object] Object to be compared
|
|
74
82
|
def ==(other)
|
|
75
|
-
return true if equal?(other)
|
|
76
|
-
|
|
83
|
+
return true if self.equal?(other)
|
|
77
84
|
self.class == other.class &&
|
|
78
85
|
task_id == other.task_id &&
|
|
79
86
|
created_at == other.created_at
|
|
@@ -96,7 +103,6 @@ module Algolia
|
|
|
96
103
|
# @return [Object] Returns the model itself
|
|
97
104
|
def self.build_from_hash(attributes)
|
|
98
105
|
return nil unless attributes.is_a?(Hash)
|
|
99
|
-
|
|
100
106
|
attributes = attributes.transform_keys(&:to_sym)
|
|
101
107
|
transformed_hash = {}
|
|
102
108
|
types_mapping.each_pair do |key, type|
|
|
@@ -106,12 +112,15 @@ module Algolia
|
|
|
106
112
|
# check to ensure the input is an array given that the attribute
|
|
107
113
|
# is documented as an array but the input is not
|
|
108
114
|
if attributes[attribute_map[key]].is_a?(Array)
|
|
109
|
-
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
115
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
|
116
|
+
_deserialize(::Regexp.last_match(1), v)
|
|
117
|
+
}
|
|
110
118
|
end
|
|
111
119
|
elsif !attributes[attribute_map[key]].nil?
|
|
112
120
|
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
|
113
121
|
end
|
|
114
122
|
end
|
|
123
|
+
|
|
115
124
|
new(transformed_hash)
|
|
116
125
|
end
|
|
117
126
|
|
|
@@ -137,6 +146,7 @@ module Algolia
|
|
|
137
146
|
else
|
|
138
147
|
false
|
|
139
148
|
end
|
|
149
|
+
|
|
140
150
|
when :Object
|
|
141
151
|
# generic object (usually a Hash), return directly
|
|
142
152
|
value
|
|
@@ -151,10 +161,12 @@ module Algolia
|
|
|
151
161
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
152
162
|
end
|
|
153
163
|
end
|
|
154
|
-
|
|
164
|
+
# model
|
|
165
|
+
else
|
|
155
166
|
# models (e.g. Pet) or oneOf
|
|
156
167
|
klass = Algolia::Ingestion.const_get(type)
|
|
157
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
168
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
|
169
|
+
.build_from_hash(value)
|
|
158
170
|
end
|
|
159
171
|
end
|
|
160
172
|
|
|
@@ -187,6 +199,7 @@ module Algolia
|
|
|
187
199
|
|
|
188
200
|
hash[param] = _to_hash(value)
|
|
189
201
|
end
|
|
202
|
+
|
|
190
203
|
hash
|
|
191
204
|
end
|
|
192
205
|
|
|
@@ -201,12 +214,14 @@ module Algolia
|
|
|
201
214
|
{}.tap do |hash|
|
|
202
215
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
203
216
|
end
|
|
204
|
-
elsif value.respond_to?
|
|
217
|
+
elsif value.respond_to?(:to_hash)
|
|
205
218
|
value.to_hash
|
|
206
219
|
else
|
|
207
220
|
value
|
|
208
221
|
end
|
|
209
222
|
end
|
|
223
|
+
|
|
210
224
|
end
|
|
225
|
+
|
|
211
226
|
end
|
|
212
227
|
end
|
|
@@ -1,19 +1,19 @@
|
|
|
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 Ingestion
|
|
8
8
|
module TaskCreateTrigger
|
|
9
9
|
class << self
|
|
10
|
-
|
|
10
|
+
# List of class defined in oneOf (OpenAPI v3)
|
|
11
11
|
def openapi_one_of
|
|
12
12
|
[
|
|
13
|
-
:OnDemandTriggerInput,
|
|
14
|
-
:ScheduleTriggerInput,
|
|
15
|
-
:StreamingTrigger,
|
|
16
|
-
:SubscriptionTrigger
|
|
13
|
+
:"OnDemandTriggerInput",
|
|
14
|
+
:"ScheduleTriggerInput",
|
|
15
|
+
:"StreamingTrigger",
|
|
16
|
+
:"SubscriptionTrigger"
|
|
17
17
|
]
|
|
18
18
|
end
|
|
19
19
|
|
|
@@ -29,11 +29,14 @@ module Algolia
|
|
|
29
29
|
# - TODO: scalar values are de facto behaving as if they were nullable.
|
|
30
30
|
# - TODO: logging when debugging is set.
|
|
31
31
|
openapi_one_of.each do |klass|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
begin
|
|
33
|
+
# "nullable: true"
|
|
34
|
+
next if klass == :AnyType
|
|
35
|
+
typed_data = find_and_cast_into_type(klass, data)
|
|
36
|
+
return typed_data if typed_data
|
|
37
|
+
# rescue all errors so we keep iterating even if the current item lookup raises
|
|
38
|
+
rescue
|
|
39
|
+
end
|
|
37
40
|
end
|
|
38
41
|
|
|
39
42
|
openapi_one_of.include?(:AnyType) ? data : nil
|
|
@@ -43,44 +46,48 @@ module Algolia
|
|
|
43
46
|
|
|
44
47
|
SchemaMismatchError = Class.new(StandardError)
|
|
45
48
|
|
|
46
|
-
#
|
|
49
|
+
# Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
|
|
47
50
|
def find_and_cast_into_type(klass, data)
|
|
48
51
|
return if data.nil?
|
|
49
52
|
|
|
50
53
|
case klass.to_s
|
|
51
|
-
when
|
|
54
|
+
when "Boolean"
|
|
52
55
|
return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
|
|
53
|
-
when
|
|
56
|
+
when "Float"
|
|
54
57
|
return data if data.instance_of?(Float)
|
|
55
|
-
when
|
|
58
|
+
when "Integer"
|
|
56
59
|
return data if data.instance_of?(Integer)
|
|
57
|
-
when
|
|
60
|
+
when "Time"
|
|
58
61
|
return Time.parse(data)
|
|
59
|
-
when
|
|
62
|
+
when "Date"
|
|
60
63
|
return Date.parse(data)
|
|
61
|
-
when
|
|
64
|
+
when "String"
|
|
62
65
|
return data if data.instance_of?(String)
|
|
63
|
-
|
|
66
|
+
# "type: object"
|
|
67
|
+
when "Object"
|
|
64
68
|
return data if data.instance_of?(Hash)
|
|
65
|
-
|
|
69
|
+
# "type: array"
|
|
70
|
+
when /\AArray<(?<sub_type>.+)>\z/
|
|
66
71
|
if data.instance_of?(Array)
|
|
67
72
|
sub_type = Regexp.last_match[:sub_type]
|
|
68
73
|
return data.map { |item| find_and_cast_into_type(sub_type, item) }
|
|
69
74
|
end
|
|
70
|
-
|
|
75
|
+
# "type: object" with "additionalProperties: { ... }"
|
|
76
|
+
when /\AHash<String, (?<sub_type>.+)>\z/
|
|
71
77
|
if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
|
|
72
78
|
sub_type = Regexp.last_match[:sub_type]
|
|
73
79
|
return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
|
|
74
80
|
end
|
|
75
|
-
|
|
81
|
+
# model
|
|
82
|
+
else
|
|
76
83
|
const = Algolia::Ingestion.const_get(klass)
|
|
77
84
|
if const
|
|
78
|
-
|
|
85
|
+
# nested oneOf model
|
|
86
|
+
if const.respond_to?(:openapi_one_of)
|
|
79
87
|
model = const.build(data)
|
|
80
88
|
else
|
|
81
89
|
# raise if data contains keys that are not known to the model
|
|
82
90
|
raise unless (data.keys - const.acceptable_attributes).empty?
|
|
83
|
-
|
|
84
91
|
model = const.build_from_hash(data)
|
|
85
92
|
end
|
|
86
93
|
|
|
@@ -88,11 +95,13 @@ module Algolia
|
|
|
88
95
|
end
|
|
89
96
|
end
|
|
90
97
|
|
|
91
|
-
|
|
98
|
+
# if no match by now, raise
|
|
99
|
+
raise
|
|
92
100
|
rescue
|
|
93
101
|
raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
|
|
94
102
|
end
|
|
95
103
|
end
|
|
96
104
|
end
|
|
105
|
+
|
|
97
106
|
end
|
|
98
107
|
end
|