trieve_ruby_client 0.10.7 → 0.11.0
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/GENERATE_COMMAND.txt +2 -0
- data/README.md +119 -16
- data/docs/APIVersion.md +15 -0
- data/docs/AnalyticsApi.md +303 -0
- data/docs/AuthApi.md +4 -4
- data/docs/AutocompleteReqPayload.md +6 -2
- data/docs/BookmarkGroupResponse.md +49 -0
- data/docs/BookmarkGroupResult.md +1 -1
- data/docs/ChatMessageProxy.md +1 -1
- data/docs/ChunkApi.md +165 -63
- data/docs/ChunkFilter.md +2 -0
- data/docs/ChunkGroupAndFileId.md +36 -0
- data/docs/ChunkGroupApi.md +110 -90
- data/docs/ChunkMetadata.md +1 -1
- data/docs/ChunkMetadataStringTagSet.md +1 -1
- data/docs/ChunkMetadataWithScore.md +1 -1
- data/docs/ChunkReqPayload.md +2 -2
- data/docs/ChunkReturnTypes.md +49 -0
- data/docs/ClusterAnalytics.md +63 -0
- data/docs/ClusterAnalyticsFilter.md +18 -0
- data/docs/ClusterAnalyticsResponse.md +49 -0
- data/docs/ClusterQueries.md +22 -0
- data/docs/ClusterTopics.md +20 -0
- data/docs/ContentChunkMetadata.md +1 -1
- data/docs/CountChunkQueryResponseBody.md +18 -0
- data/docs/CountChunksReqPayload.md +26 -0
- data/docs/CountQueries.md +20 -0
- data/docs/CreateMessageReqPayload.md +11 -1
- data/docs/CreateSetupCheckoutSessionResPayload.md +18 -0
- data/docs/Dataset.md +0 -2
- data/docs/DatasetAnalytics.md +28 -0
- data/docs/DatasetApi.md +8 -80
- data/docs/DatasetDTO.md +0 -2
- data/docs/DeprecatedSearchOverGroupsResponseBody.md +20 -0
- data/docs/DistancePhrase.md +20 -0
- data/docs/EditMessageReqPayload.md +11 -1
- data/docs/Event.md +3 -5
- data/docs/EventTypeRequest.md +15 -0
- data/docs/EventsApi.md +1 -1
- data/docs/FileApi.md +4 -4
- data/docs/GenerateChunksRequest.md +11 -1
- data/docs/GeoInfoWithBias.md +20 -0
- data/docs/GetChunksForGroupsResponse.md +22 -0
- data/docs/GetEventsData.md +1 -1
- data/docs/Granularity.md +15 -0
- data/docs/GroupData.md +1 -1
- data/docs/GroupScoreChunk.md +14 -0
- data/docs/GroupsBookmarkQueryResult.md +22 -0
- data/docs/HeadQueries.md +20 -0
- data/docs/HeadQueries1.md +22 -0
- data/docs/HeadQueryResponse.md +18 -0
- data/docs/HealthApi.md +1 -1
- data/docs/InvitationApi.md +1 -1
- data/docs/LatencyGraph.md +22 -0
- data/docs/LatencyGraphResponse.md +18 -0
- data/docs/LowConfidenceQueries.md +24 -0
- data/docs/LowConfidenceRecommendations.md +24 -0
- data/docs/MessageApi.md +4 -4
- data/docs/MetricsApi.md +76 -0
- data/docs/NewChunkMetadataTypes.md +51 -0
- data/docs/NoResultQueries.md +22 -0
- data/docs/OrganizationApi.md +6 -6
- data/docs/QueryCountResponse.md +18 -0
- data/docs/QueryDetails.md +20 -0
- data/docs/RAGAnalytics.md +63 -0
- data/docs/RAGAnalyticsFilter.md +20 -0
- data/docs/RAGAnalyticsResponse.md +49 -0
- data/docs/RAGQueries.md +26 -0
- data/docs/RAGUsage.md +20 -0
- data/docs/RAGUsageResponse.md +18 -0
- data/docs/RPSGraph.md +22 -0
- data/docs/RPSGraphResponse.md +18 -0
- data/docs/RagQueryEvent.md +30 -0
- data/docs/RagQueryResponse.md +18 -0
- data/docs/RagTypes.md +15 -0
- data/docs/RecommendChunksRequest.md +2 -2
- data/docs/RecommendChunksResponseBody.md +18 -0
- data/docs/RecommendGroupChunksRequest.md +2 -2
- data/docs/RecommendGroupsResponse.md +49 -0
- data/docs/RecommendGroupsResponseBody.md +18 -0
- data/docs/RecommendResponseTypes.md +49 -0
- data/docs/RecommendType.md +15 -0
- data/docs/RecommendationAnalytics.md +63 -0
- data/docs/RecommendationAnalyticsFilter.md +20 -0
- data/docs/RecommendationAnalyticsResponse.md +47 -0
- data/docs/RecommendationEvent.md +38 -0
- data/docs/RecommendationQueries.md +26 -0
- data/docs/RecommendationStrategy.md +15 -0
- data/docs/RecommendationType.md +15 -0
- data/docs/RecommendationsEventResponse.md +18 -0
- data/docs/RegenerateMessageReqPayload.md +9 -1
- data/docs/RoleProxy.md +15 -0
- data/docs/ScoreChunk.md +22 -0
- data/docs/SearchAnalytics.md +77 -0
- data/docs/SearchAnalyticsFilter.md +22 -0
- data/docs/SearchAnalyticsResponse.md +59 -0
- data/docs/SearchChunksReqPayload.md +6 -4
- data/docs/SearchClusterResponse.md +18 -0
- data/docs/SearchClusterTopics.md +28 -0
- data/docs/SearchGroupResponseTypes.md +49 -0
- data/docs/SearchLatencyGraph.md +20 -0
- data/docs/SearchMethod.md +15 -0
- data/docs/SearchMetrics.md +20 -0
- data/docs/SearchOverGroupsData.md +2 -4
- data/docs/SearchOverGroupsResponseBody.md +4 -4
- data/docs/SearchOverGroupsResponseTypes.md +4 -4
- data/docs/SearchOverGroupsResults.md +6 -4
- data/docs/SearchQueries.md +26 -0
- data/docs/SearchQueryEvent.md +34 -0
- data/docs/SearchQueryResponse.md +18 -0
- data/docs/SearchRPSGraph.md +20 -0
- data/docs/SearchResponseBody.md +20 -0
- data/docs/SearchResponseTypes.md +49 -0
- data/docs/SearchResultType.md +49 -0
- data/docs/SearchType.md +15 -0
- data/docs/SearchTypeCount.md +22 -0
- data/docs/SearchWithinGroupData.md +6 -2
- data/docs/SearchWithinGroupResponseBody.md +20 -0
- data/docs/SearchWithinGroupResults.md +1 -1
- data/docs/SlimChunkMetadata.md +1 -1
- data/docs/SlimChunkMetadataWithArrayTagSet.md +44 -0
- data/docs/SlimChunkMetadataWithScore.md +1 -1
- data/docs/SortBy.md +15 -0
- data/docs/SortOrder.md +15 -0
- data/docs/StripeApi.md +134 -4
- data/docs/StripeInvoice.md +28 -0
- data/docs/TopicApi.md +4 -4
- data/docs/UpdateChunkGroupData.md +3 -1
- data/docs/UpdateChunkReqPayload.md +2 -0
- data/docs/UserApi.md +3 -3
- data/lib/trieve_ruby_client/api/analytics_api.rb +322 -0
- data/lib/trieve_ruby_client/api/auth_api.rb +9 -9
- data/lib/trieve_ruby_client/api/chunk_api.rb +148 -52
- data/lib/trieve_ruby_client/api/chunk_group_api.rb +122 -107
- data/lib/trieve_ruby_client/api/dataset_api.rb +17 -81
- data/lib/trieve_ruby_client/api/events_api.rb +3 -3
- data/lib/trieve_ruby_client/api/file_api.rb +9 -9
- data/lib/trieve_ruby_client/api/health_api.rb +3 -3
- data/lib/trieve_ruby_client/api/invitation_api.rb +3 -3
- data/lib/trieve_ruby_client/api/message_api.rb +9 -9
- data/lib/trieve_ruby_client/api/metrics_api.rb +79 -0
- data/lib/trieve_ruby_client/api/organization_api.rb +13 -13
- data/lib/trieve_ruby_client/api/stripe_api.rb +135 -9
- data/lib/trieve_ruby_client/api/topic_api.rb +9 -9
- data/lib/trieve_ruby_client/api/user_api.rb +7 -7
- data/lib/trieve_ruby_client/api_client.rb +1 -1
- data/lib/trieve_ruby_client/api_error.rb +1 -1
- data/lib/trieve_ruby_client/configuration.rb +8 -1
- data/lib/trieve_ruby_client/models/add_chunk_to_group_data.rb +1 -1
- data/lib/trieve_ruby_client/models/api_key_resp_body.rb +1 -1
- data/lib/trieve_ruby_client/models/api_version.rb +40 -0
- data/lib/trieve_ruby_client/models/auth_query.rb +1 -1
- data/lib/trieve_ruby_client/models/autocomplete_req_payload.rb +47 -5
- data/lib/trieve_ruby_client/models/batch_queued_chunk_response.rb +1 -1
- data/lib/trieve_ruby_client/models/bookmark_group_response.rb +105 -0
- data/lib/trieve_ruby_client/models/bookmark_group_result.rb +2 -2
- data/lib/trieve_ruby_client/models/boost_phrase.rb +1 -1
- data/lib/trieve_ruby_client/models/chat_message_proxy.rb +24 -2
- data/lib/trieve_ruby_client/models/chunk_filter.rb +13 -2
- data/lib/trieve_ruby_client/models/chunk_group.rb +1 -1
- data/lib/trieve_ruby_client/models/chunk_group_and_file_id.rb +343 -0
- data/lib/trieve_ruby_client/models/chunk_metadata.rb +8 -2
- data/lib/trieve_ruby_client/models/chunk_metadata_string_tag_set.rb +8 -2
- data/lib/trieve_ruby_client/models/chunk_metadata_types.rb +1 -1
- data/lib/trieve_ruby_client/models/chunk_metadata_with_score.rb +8 -2
- data/lib/trieve_ruby_client/models/chunk_req_payload.rb +12 -15
- data/lib/trieve_ruby_client/models/chunk_return_types.rb +105 -0
- data/lib/trieve_ruby_client/models/cluster_analytics.rb +43 -0
- data/lib/trieve_ruby_client/models/cluster_analytics_filter.rb +215 -0
- data/lib/trieve_ruby_client/models/cluster_analytics_response.rb +105 -0
- data/lib/trieve_ruby_client/models/cluster_queries.rb +296 -0
- data/lib/trieve_ruby_client/models/cluster_topics.rb +265 -0
- data/lib/trieve_ruby_client/models/condition_type.rb +1 -1
- data/lib/trieve_ruby_client/models/content_chunk_metadata.rb +8 -2
- data/lib/trieve_ruby_client/models/count_chunk_query_response_body.rb +240 -0
- data/lib/trieve_ruby_client/models/count_chunks_req_payload.rb +307 -0
- data/lib/trieve_ruby_client/models/count_queries.rb +265 -0
- data/lib/trieve_ruby_client/models/create_chunk_group_req_payload.rb +1 -1
- data/lib/trieve_ruby_client/models/create_chunk_req_payload_enum.rb +1 -1
- data/lib/trieve_ruby_client/models/create_dataset_request.rb +1 -1
- data/lib/trieve_ruby_client/models/create_message_req_payload.rb +95 -4
- data/lib/trieve_ruby_client/models/create_organization_data.rb +1 -1
- data/lib/trieve_ruby_client/models/create_setup_checkout_session_res_payload.rb +221 -0
- data/lib/trieve_ruby_client/models/create_topic_req_payload.rb +1 -1
- data/lib/trieve_ruby_client/models/dataset.rb +2 -14
- data/lib/trieve_ruby_client/models/dataset_analytics.rb +301 -0
- data/lib/trieve_ruby_client/models/dataset_and_usage.rb +1 -1
- data/lib/trieve_ruby_client/models/dataset_dto.rb +2 -14
- data/lib/trieve_ruby_client/models/dataset_usage_count.rb +1 -1
- data/lib/trieve_ruby_client/models/date_range.rb +1 -1
- data/lib/trieve_ruby_client/models/delete_topic_data.rb +1 -1
- data/lib/trieve_ruby_client/models/delete_user_api_key_request.rb +1 -1
- data/lib/trieve_ruby_client/models/deprecated_search_over_groups_response_body.rb +239 -0
- data/lib/trieve_ruby_client/models/distance_phrase.rb +240 -0
- data/lib/trieve_ruby_client/models/edit_message_req_payload.rb +95 -4
- data/lib/trieve_ruby_client/models/error_response_body.rb +1 -1
- data/lib/trieve_ruby_client/models/event.rb +12 -24
- data/lib/trieve_ruby_client/models/event_return.rb +1 -1
- data/lib/trieve_ruby_client/models/event_type_request.rb +49 -0
- data/lib/trieve_ruby_client/models/field_condition.rb +1 -1
- data/lib/trieve_ruby_client/models/file.rb +1 -1
- data/lib/trieve_ruby_client/models/file_dto.rb +1 -1
- data/lib/trieve_ruby_client/models/generate_chunks_request.rb +78 -6
- data/lib/trieve_ruby_client/models/geo_info.rb +1 -1
- data/lib/trieve_ruby_client/models/geo_info_with_bias.rb +237 -0
- data/lib/trieve_ruby_client/models/geo_types.rb +1 -1
- data/lib/trieve_ruby_client/models/get_chunks_data.rb +1 -1
- data/lib/trieve_ruby_client/models/get_chunks_for_groups_response.rb +274 -0
- data/lib/trieve_ruby_client/models/get_datasets_pagination.rb +1 -1
- data/lib/trieve_ruby_client/models/get_events_data.rb +2 -2
- data/lib/trieve_ruby_client/models/get_groups_for_chunks_data.rb +1 -1
- data/lib/trieve_ruby_client/models/get_tracking_chunks_data.rb +1 -1
- data/lib/trieve_ruby_client/models/granularity.rb +42 -0
- data/lib/trieve_ruby_client/models/group_data.rb +2 -2
- data/lib/trieve_ruby_client/models/group_score_chunk.rb +92 -2
- data/lib/trieve_ruby_client/models/groups_bookmark_query_result.rb +274 -0
- data/lib/trieve_ruby_client/models/has_id_condition.rb +1 -1
- data/lib/trieve_ruby_client/models/head_queries.rb +237 -0
- data/lib/trieve_ruby_client/models/head_queries1.rb +290 -0
- data/lib/trieve_ruby_client/models/head_query_response.rb +223 -0
- data/lib/trieve_ruby_client/models/invitation_data.rb +1 -1
- data/lib/trieve_ruby_client/models/latency_graph.rb +275 -0
- data/lib/trieve_ruby_client/models/latency_graph_response.rb +223 -0
- data/lib/trieve_ruby_client/models/location_bounding_box.rb +1 -1
- data/lib/trieve_ruby_client/models/location_polygon.rb +1 -1
- data/lib/trieve_ruby_client/models/location_radius.rb +1 -1
- data/lib/trieve_ruby_client/models/low_confidence_queries.rb +300 -0
- data/lib/trieve_ruby_client/models/low_confidence_recommendations.rb +300 -0
- data/lib/trieve_ruby_client/models/match_condition.rb +1 -1
- data/lib/trieve_ruby_client/models/message.rb +1 -1
- data/lib/trieve_ruby_client/models/new_chunk_metadata_types.rb +106 -0
- data/lib/trieve_ruby_client/models/no_result_queries.rb +290 -0
- data/lib/trieve_ruby_client/models/organization.rb +1 -1
- data/lib/trieve_ruby_client/models/organization_usage_count.rb +1 -1
- data/lib/trieve_ruby_client/models/query_count_response.rb +223 -0
- data/lib/trieve_ruby_client/models/query_details.rb +271 -0
- data/lib/trieve_ruby_client/models/rag_analytics.rb +43 -0
- data/lib/trieve_ruby_client/models/rag_analytics_filter.rb +247 -0
- data/lib/trieve_ruby_client/models/rag_analytics_response.rb +105 -0
- data/lib/trieve_ruby_client/models/rag_queries.rb +310 -0
- data/lib/trieve_ruby_client/models/rag_query_event.rb +319 -0
- data/lib/trieve_ruby_client/models/rag_query_response.rb +223 -0
- data/lib/trieve_ruby_client/models/rag_types.rb +40 -0
- data/lib/trieve_ruby_client/models/rag_usage.rb +265 -0
- data/lib/trieve_ruby_client/models/rag_usage_response.rb +240 -0
- data/lib/trieve_ruby_client/models/range.rb +1 -1
- data/lib/trieve_ruby_client/models/range_condition.rb +1 -1
- data/lib/trieve_ruby_client/models/recommend_chunks_request.rb +25 -5
- data/lib/trieve_ruby_client/models/recommend_chunks_response_body.rb +223 -0
- data/lib/trieve_ruby_client/models/recommend_group_chunks_request.rb +25 -5
- data/lib/trieve_ruby_client/models/recommend_groups_response.rb +105 -0
- data/lib/trieve_ruby_client/models/recommend_groups_response_body.rb +223 -0
- data/lib/trieve_ruby_client/models/recommend_response_types.rb +105 -0
- data/lib/trieve_ruby_client/models/recommend_type.rb +40 -0
- data/lib/trieve_ruby_client/models/recommendation_analytics.rb +43 -0
- data/lib/trieve_ruby_client/models/recommendation_analytics_filter.rb +247 -0
- data/lib/trieve_ruby_client/models/recommendation_analytics_response.rb +104 -0
- data/lib/trieve_ruby_client/models/recommendation_event.rb +391 -0
- data/lib/trieve_ruby_client/models/recommendation_queries.rb +310 -0
- data/lib/trieve_ruby_client/models/recommendation_strategy.rb +40 -0
- data/lib/trieve_ruby_client/models/recommendation_type.rb +40 -0
- data/lib/trieve_ruby_client/models/recommendations_event_response.rb +223 -0
- data/lib/trieve_ruby_client/models/regenerate_message_req_payload.rb +84 -4
- data/lib/trieve_ruby_client/models/remove_chunk_from_group_req_payload.rb +1 -1
- data/lib/trieve_ruby_client/models/return_queued_chunk.rb +1 -1
- data/lib/trieve_ruby_client/models/role_proxy.rb +41 -0
- data/lib/trieve_ruby_client/models/rps_graph.rb +275 -0
- data/lib/trieve_ruby_client/models/rps_graph_response.rb +223 -0
- data/lib/trieve_ruby_client/models/score_chunk.rb +249 -0
- data/lib/trieve_ruby_client/models/score_chunk_dto.rb +1 -1
- data/lib/trieve_ruby_client/models/search_analytics.rb +50 -0
- data/lib/trieve_ruby_client/models/search_analytics_filter.rb +257 -0
- data/lib/trieve_ruby_client/models/search_analytics_response.rb +110 -0
- data/lib/trieve_ruby_client/models/search_chunk_query_response_body.rb +1 -1
- data/lib/trieve_ruby_client/models/search_chunks_req_payload.rb +47 -16
- data/lib/trieve_ruby_client/models/search_cluster_response.rb +223 -0
- data/lib/trieve_ruby_client/models/search_cluster_topics.rb +301 -0
- data/lib/trieve_ruby_client/models/search_group_response_types.rb +105 -0
- data/lib/trieve_ruby_client/models/search_latency_graph.rb +237 -0
- data/lib/trieve_ruby_client/models/search_method.rb +42 -0
- data/lib/trieve_ruby_client/models/search_metrics.rb +265 -0
- data/lib/trieve_ruby_client/models/search_over_groups_data.rb +26 -16
- data/lib/trieve_ruby_client/models/search_over_groups_response_body.rb +23 -23
- data/lib/trieve_ruby_client/models/search_over_groups_response_types.rb +3 -3
- data/lib/trieve_ruby_client/models/search_over_groups_results.rb +33 -23
- data/lib/trieve_ruby_client/models/search_queries.rb +310 -0
- data/lib/trieve_ruby_client/models/search_query_event.rb +351 -0
- data/lib/trieve_ruby_client/models/search_query_response.rb +223 -0
- data/lib/trieve_ruby_client/models/search_response_body.rb +239 -0
- data/lib/trieve_ruby_client/models/search_response_types.rb +105 -0
- data/lib/trieve_ruby_client/models/search_result_type.rb +105 -0
- data/lib/trieve_ruby_client/models/search_rps_graph.rb +237 -0
- data/lib/trieve_ruby_client/models/search_type.rb +42 -0
- data/lib/trieve_ruby_client/models/search_type_count.rb +253 -0
- data/lib/trieve_ruby_client/models/search_within_group_data.rb +47 -5
- data/lib/trieve_ruby_client/models/search_within_group_response_body.rb +239 -0
- data/lib/trieve_ruby_client/models/search_within_group_results.rb +2 -2
- data/lib/trieve_ruby_client/models/set_user_api_key_request.rb +1 -1
- data/lib/trieve_ruby_client/models/set_user_api_key_response.rb +1 -1
- data/lib/trieve_ruby_client/models/single_queued_chunk_response.rb +1 -1
- data/lib/trieve_ruby_client/models/slim_chunk_metadata.rb +8 -2
- data/lib/trieve_ruby_client/models/slim_chunk_metadata_with_array_tag_set.rb +385 -0
- data/lib/trieve_ruby_client/models/slim_chunk_metadata_with_score.rb +8 -2
- data/lib/trieve_ruby_client/models/slim_user.rb +1 -1
- data/lib/trieve_ruby_client/models/sort_by.rb +41 -0
- data/lib/trieve_ruby_client/models/sort_order.rb +40 -0
- data/lib/trieve_ruby_client/models/stripe_invoice.rb +301 -0
- data/lib/trieve_ruby_client/models/stripe_plan.rb +1 -1
- data/lib/trieve_ruby_client/models/suggested_queries_req_payload.rb +1 -1
- data/lib/trieve_ruby_client/models/suggested_queries_response.rb +1 -1
- data/lib/trieve_ruby_client/models/topic.rb +1 -1
- data/lib/trieve_ruby_client/models/update_chunk_by_tracking_id_data.rb +1 -1
- data/lib/trieve_ruby_client/models/update_chunk_group_data.rb +17 -6
- data/lib/trieve_ruby_client/models/update_chunk_req_payload.rb +12 -2
- data/lib/trieve_ruby_client/models/update_dataset_request.rb +1 -1
- data/lib/trieve_ruby_client/models/update_group_by_tracking_id_req_payload.rb +1 -1
- data/lib/trieve_ruby_client/models/update_organization_data.rb +1 -1
- data/lib/trieve_ruby_client/models/update_topic_req_payload.rb +1 -1
- data/lib/trieve_ruby_client/models/update_user_org_role_data.rb +1 -1
- data/lib/trieve_ruby_client/models/upload_file_req_payload.rb +1 -1
- data/lib/trieve_ruby_client/models/upload_file_result.rb +1 -1
- data/lib/trieve_ruby_client/models/user_organization.rb +1 -1
- data/lib/trieve_ruby_client/version.rb +2 -2
- data/lib/trieve_ruby_client.rb +86 -5
- data/openapi-generator.yaml +2 -2
- data/openapi.json +11050 -1
- data/spec/api/analytics_api_spec.rb +87 -0
- data/spec/api/metrics_api_spec.rb +46 -0
- data/spec/models/api_version_spec.rb +30 -0
- data/spec/models/bookmark_group_response_spec.rb +32 -0
- data/spec/models/chunk_group_and_file_id_spec.rb +90 -0
- data/spec/models/chunk_return_types_spec.rb +32 -0
- data/spec/models/cluster_analytics_filter_spec.rb +36 -0
- data/spec/models/cluster_analytics_response_spec.rb +32 -0
- data/spec/models/cluster_analytics_spec.rb +38 -0
- data/spec/models/cluster_queries_spec.rb +52 -0
- data/spec/models/cluster_topics_spec.rb +46 -0
- data/spec/models/count_chunk_query_response_body_spec.rb +36 -0
- data/spec/models/count_chunks_req_payload_spec.rb +60 -0
- data/spec/models/count_queries_spec.rb +46 -0
- data/spec/models/create_setup_checkout_session_res_payload_spec.rb +36 -0
- data/spec/models/dataset_analytics_spec.rb +66 -0
- data/spec/models/deprecated_search_over_groups_response_body_spec.rb +42 -0
- data/spec/models/distance_phrase_spec.rb +42 -0
- data/spec/models/event_type_request_spec.rb +30 -0
- data/spec/models/geo_info_with_bias_spec.rb +42 -0
- data/spec/models/get_chunks_for_groups_response_spec.rb +48 -0
- data/spec/models/granularity_spec.rb +30 -0
- data/spec/models/groups_bookmark_query_result_spec.rb +48 -0
- data/spec/models/head_queries1_spec.rb +52 -0
- data/spec/models/head_queries_spec.rb +42 -0
- data/spec/models/head_query_response_spec.rb +36 -0
- data/spec/models/latency_graph_response_spec.rb +36 -0
- data/spec/models/latency_graph_spec.rb +52 -0
- data/spec/models/low_confidence_queries_spec.rb +58 -0
- data/spec/models/low_confidence_recommendations_spec.rb +58 -0
- data/spec/models/new_chunk_metadata_types_spec.rb +32 -0
- data/spec/models/no_result_queries_spec.rb +52 -0
- data/spec/models/query_count_response_spec.rb +36 -0
- data/spec/models/query_details_spec.rb +46 -0
- data/spec/models/rag_analytics_filter_spec.rb +42 -0
- data/spec/models/rag_analytics_response_spec.rb +32 -0
- data/spec/models/rag_analytics_spec.rb +38 -0
- data/spec/models/rag_queries_spec.rb +64 -0
- data/spec/models/rag_query_event_spec.rb +72 -0
- data/spec/models/rag_query_response_spec.rb +36 -0
- data/spec/models/rag_types_spec.rb +30 -0
- data/spec/models/rag_usage_response_spec.rb +36 -0
- data/spec/models/rag_usage_spec.rb +46 -0
- data/spec/models/recommend_chunks_response_body_spec.rb +36 -0
- data/spec/models/recommend_groups_response_body_spec.rb +36 -0
- data/spec/models/recommend_groups_response_spec.rb +32 -0
- data/spec/models/recommend_response_types_spec.rb +32 -0
- data/spec/models/recommend_type_spec.rb +30 -0
- data/spec/models/recommendation_analytics_filter_spec.rb +42 -0
- data/spec/models/recommendation_analytics_response_spec.rb +32 -0
- data/spec/models/recommendation_analytics_spec.rb +38 -0
- data/spec/models/recommendation_event_spec.rb +96 -0
- data/spec/models/recommendation_queries_spec.rb +64 -0
- data/spec/models/recommendation_strategy_spec.rb +30 -0
- data/spec/models/recommendation_type_spec.rb +30 -0
- data/spec/models/recommendations_event_response_spec.rb +36 -0
- data/spec/models/role_proxy_spec.rb +30 -0
- data/spec/models/rps_graph_response_spec.rb +36 -0
- data/spec/models/rps_graph_spec.rb +52 -0
- data/spec/models/score_chunk_spec.rb +48 -0
- data/spec/models/search_analytics_filter_spec.rb +48 -0
- data/spec/models/search_analytics_response_spec.rb +32 -0
- data/spec/models/search_analytics_spec.rb +38 -0
- data/spec/models/search_cluster_response_spec.rb +36 -0
- data/spec/models/search_cluster_topics_spec.rb +66 -0
- data/spec/models/search_group_response_types_spec.rb +32 -0
- data/spec/models/search_latency_graph_spec.rb +42 -0
- data/spec/models/search_method_spec.rb +30 -0
- data/spec/models/search_metrics_spec.rb +46 -0
- data/spec/models/search_queries_spec.rb +64 -0
- data/spec/models/search_query_event_spec.rb +84 -0
- data/spec/models/search_query_response_spec.rb +36 -0
- data/spec/models/search_response_body_spec.rb +42 -0
- data/spec/models/search_response_types_spec.rb +32 -0
- data/spec/models/search_result_type_spec.rb +32 -0
- data/spec/models/search_rps_graph_spec.rb +42 -0
- data/spec/models/search_type_count_spec.rb +48 -0
- data/spec/models/search_type_spec.rb +30 -0
- data/spec/models/search_within_group_response_body_spec.rb +42 -0
- data/spec/models/slim_chunk_metadata_with_array_tag_set_spec.rb +114 -0
- data/spec/models/sort_by_spec.rb +30 -0
- data/spec/models/sort_order_spec.rb +30 -0
- data/spec/models/stripe_invoice_spec.rb +66 -0
- data/spec/spec_helper.rb +1 -1
- data/trieve_ruby_client.gemspec +1 -1
- metadata +456 -135
- data/trieve_ruby_client-0.5.0.gem +0 -0
- data/trieve_ruby_client-0.5.7.gem +0 -0
- data/trieve_ruby_client-0.6.0.gem +0 -0
- data/trieve_ruby_client-0.6.2.gem +0 -0
- data/trieve_ruby_client-0.6.7.gem +0 -0
- data/trieve_ruby_client-0.6.9.gem +0 -0
- data/trieve_ruby_client-0.7.2.gem +0 -0
- data/trieve_ruby_client-0.7.6.gem +0 -0
- data/trieve_ruby_client-0.8.0.gem +0 -0
- data/trieve_ruby_client-0.8.2.gem +0 -0
- data/trieve_ruby_client-0.8.5.gem +0 -0
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
#Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 0.
|
6
|
+
The version of the OpenAPI document: 0.11.0
|
7
7
|
Contact: developers@trieve.ai
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
9
|
Generator version: 7.4.0
|
@@ -20,9 +20,6 @@ module TrieveRubyClient
|
|
20
20
|
|
21
21
|
attr_accessor :filters
|
22
22
|
|
23
|
-
# Set get_collisions to true to get the collisions for each chunk. This will only apply if environment variable COLLISIONS_ENABLED is set to true.
|
24
|
-
attr_accessor :get_collisions
|
25
|
-
|
26
23
|
# Get total page count for the query accounting for the applied filters. Defaults to false, but can be set to true when the latency penalty is acceptable (typically 50-200ms).
|
27
24
|
attr_accessor :get_total_pages
|
28
25
|
|
@@ -44,6 +41,8 @@ module TrieveRubyClient
|
|
44
41
|
# Set highlight_window to a number to control the amount of words that are returned around the matched phrases. If not specified, this defaults to 0. This is useful for when you want to show more context around the matched words. When specified, window/2 whitespace separated words are added before and after each highlight in the response's highlights array. If an extended highlight overlaps with another highlight, the overlapping words are only included once.
|
45
42
|
attr_accessor :highlight_window
|
46
43
|
|
44
|
+
attr_accessor :location_bias
|
45
|
+
|
47
46
|
# Page of chunks to fetch. Page is 1-indexed.
|
48
47
|
attr_accessor :page
|
49
48
|
|
@@ -56,10 +55,9 @@ module TrieveRubyClient
|
|
56
55
|
# Recency Bias lets you determine how much of an effect the recency of chunks will have on the search results. If not specified, this defaults to 0.0. We recommend setting this to 1.0 for a gentle reranking of the results, >3.0 for a strong reranking of the results.
|
57
56
|
attr_accessor :recency_bias
|
58
57
|
|
59
|
-
# Set score_threshold to a float to filter out chunks with a score below the threshold.
|
58
|
+
# Set score_threshold to a float to filter out chunks with a score below the threshold. This threshold applies before weight and bias modifications. If not specified, this defaults to 0.0.
|
60
59
|
attr_accessor :score_threshold
|
61
60
|
|
62
|
-
# Can be either \"semantic\", \"fulltext\", or \"hybrid\". If specified as \"hybrid\", it will pull in one page (10 chunks) of both semantic and full-text results then re-rank them using BAAI/bge-reranker-large. \"semantic\" will pull in one page (10 chunks) of the nearest cosine distant vectors. \"fulltext\" will pull in one page (10 chunks) of full-text results based on SPLADE.
|
63
61
|
attr_accessor :search_type
|
64
62
|
|
65
63
|
# Set slim_chunks to true to avoid returning the content and chunk_html of the chunks. This is useful for when you want to reduce amount of data over the wire for latency improvement (typically 10-50ms). Default is false.
|
@@ -68,15 +66,39 @@ module TrieveRubyClient
|
|
68
66
|
# Tag weights is a JSON object which can be used to boost the ranking of chunks with certain tags. This is useful for when you want to be able to bias towards chunks with a certain tag on the fly. The keys are the tag names and the values are the weights.
|
69
67
|
attr_accessor :tag_weights
|
70
68
|
|
69
|
+
# If true, chunks will be reranked using scores from a cross encoder model. \"hybrid\" search will always use the reranker regardless of this setting.
|
70
|
+
attr_accessor :use_reranker
|
71
|
+
|
71
72
|
# Set use_weights to true to use the weights of the chunks in the result set in order to sort them. If not specified, this defaults to true.
|
72
73
|
attr_accessor :use_weights
|
73
74
|
|
75
|
+
class EnumAttributeValidator
|
76
|
+
attr_reader :datatype
|
77
|
+
attr_reader :allowable_values
|
78
|
+
|
79
|
+
def initialize(datatype, allowable_values)
|
80
|
+
@allowable_values = allowable_values.map do |value|
|
81
|
+
case datatype.to_s
|
82
|
+
when /Integer/i
|
83
|
+
value.to_i
|
84
|
+
when /Float/i
|
85
|
+
value.to_f
|
86
|
+
else
|
87
|
+
value
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def valid?(value)
|
93
|
+
!value || allowable_values.include?(value)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
74
97
|
# Attribute mapping from ruby-style variable name to JSON key.
|
75
98
|
def self.attribute_map
|
76
99
|
{
|
77
100
|
:'content_only' => :'content_only',
|
78
101
|
:'filters' => :'filters',
|
79
|
-
:'get_collisions' => :'get_collisions',
|
80
102
|
:'get_total_pages' => :'get_total_pages',
|
81
103
|
:'highlight_delimiters' => :'highlight_delimiters',
|
82
104
|
:'highlight_max_length' => :'highlight_max_length',
|
@@ -84,6 +106,7 @@ module TrieveRubyClient
|
|
84
106
|
:'highlight_results' => :'highlight_results',
|
85
107
|
:'highlight_threshold' => :'highlight_threshold',
|
86
108
|
:'highlight_window' => :'highlight_window',
|
109
|
+
:'location_bias' => :'location_bias',
|
87
110
|
:'page' => :'page',
|
88
111
|
:'page_size' => :'page_size',
|
89
112
|
:'query' => :'query',
|
@@ -92,6 +115,7 @@ module TrieveRubyClient
|
|
92
115
|
:'search_type' => :'search_type',
|
93
116
|
:'slim_chunks' => :'slim_chunks',
|
94
117
|
:'tag_weights' => :'tag_weights',
|
118
|
+
:'use_reranker' => :'use_reranker',
|
95
119
|
:'use_weights' => :'use_weights'
|
96
120
|
}
|
97
121
|
end
|
@@ -106,7 +130,6 @@ module TrieveRubyClient
|
|
106
130
|
{
|
107
131
|
:'content_only' => :'Boolean',
|
108
132
|
:'filters' => :'ChunkFilter',
|
109
|
-
:'get_collisions' => :'Boolean',
|
110
133
|
:'get_total_pages' => :'Boolean',
|
111
134
|
:'highlight_delimiters' => :'Array<String>',
|
112
135
|
:'highlight_max_length' => :'Integer',
|
@@ -114,14 +137,16 @@ module TrieveRubyClient
|
|
114
137
|
:'highlight_results' => :'Boolean',
|
115
138
|
:'highlight_threshold' => :'Float',
|
116
139
|
:'highlight_window' => :'Integer',
|
140
|
+
:'location_bias' => :'GeoInfoWithBias',
|
117
141
|
:'page' => :'Integer',
|
118
142
|
:'page_size' => :'Integer',
|
119
143
|
:'query' => :'String',
|
120
144
|
:'recency_bias' => :'Float',
|
121
145
|
:'score_threshold' => :'Float',
|
122
|
-
:'search_type' => :'
|
146
|
+
:'search_type' => :'SearchMethod',
|
123
147
|
:'slim_chunks' => :'Boolean',
|
124
148
|
:'tag_weights' => :'Hash<String, Float>',
|
149
|
+
:'use_reranker' => :'Boolean',
|
125
150
|
:'use_weights' => :'Boolean'
|
126
151
|
}
|
127
152
|
end
|
@@ -131,7 +156,6 @@ module TrieveRubyClient
|
|
131
156
|
Set.new([
|
132
157
|
:'content_only',
|
133
158
|
:'filters',
|
134
|
-
:'get_collisions',
|
135
159
|
:'get_total_pages',
|
136
160
|
:'highlight_delimiters',
|
137
161
|
:'highlight_max_length',
|
@@ -139,12 +163,14 @@ module TrieveRubyClient
|
|
139
163
|
:'highlight_results',
|
140
164
|
:'highlight_threshold',
|
141
165
|
:'highlight_window',
|
166
|
+
:'location_bias',
|
142
167
|
:'page',
|
143
168
|
:'page_size',
|
144
169
|
:'recency_bias',
|
145
170
|
:'score_threshold',
|
146
171
|
:'slim_chunks',
|
147
172
|
:'tag_weights',
|
173
|
+
:'use_reranker',
|
148
174
|
:'use_weights'
|
149
175
|
])
|
150
176
|
end
|
@@ -172,10 +198,6 @@ module TrieveRubyClient
|
|
172
198
|
self.filters = attributes[:'filters']
|
173
199
|
end
|
174
200
|
|
175
|
-
if attributes.key?(:'get_collisions')
|
176
|
-
self.get_collisions = attributes[:'get_collisions']
|
177
|
-
end
|
178
|
-
|
179
201
|
if attributes.key?(:'get_total_pages')
|
180
202
|
self.get_total_pages = attributes[:'get_total_pages']
|
181
203
|
end
|
@@ -206,6 +228,10 @@ module TrieveRubyClient
|
|
206
228
|
self.highlight_window = attributes[:'highlight_window']
|
207
229
|
end
|
208
230
|
|
231
|
+
if attributes.key?(:'location_bias')
|
232
|
+
self.location_bias = attributes[:'location_bias']
|
233
|
+
end
|
234
|
+
|
209
235
|
if attributes.key?(:'page')
|
210
236
|
self.page = attributes[:'page']
|
211
237
|
end
|
@@ -244,6 +270,10 @@ module TrieveRubyClient
|
|
244
270
|
end
|
245
271
|
end
|
246
272
|
|
273
|
+
if attributes.key?(:'use_reranker')
|
274
|
+
self.use_reranker = attributes[:'use_reranker']
|
275
|
+
end
|
276
|
+
|
247
277
|
if attributes.key?(:'use_weights')
|
248
278
|
self.use_weights = attributes[:'use_weights']
|
249
279
|
end
|
@@ -356,7 +386,6 @@ module TrieveRubyClient
|
|
356
386
|
self.class == o.class &&
|
357
387
|
content_only == o.content_only &&
|
358
388
|
filters == o.filters &&
|
359
|
-
get_collisions == o.get_collisions &&
|
360
389
|
get_total_pages == o.get_total_pages &&
|
361
390
|
highlight_delimiters == o.highlight_delimiters &&
|
362
391
|
highlight_max_length == o.highlight_max_length &&
|
@@ -364,6 +393,7 @@ module TrieveRubyClient
|
|
364
393
|
highlight_results == o.highlight_results &&
|
365
394
|
highlight_threshold == o.highlight_threshold &&
|
366
395
|
highlight_window == o.highlight_window &&
|
396
|
+
location_bias == o.location_bias &&
|
367
397
|
page == o.page &&
|
368
398
|
page_size == o.page_size &&
|
369
399
|
query == o.query &&
|
@@ -372,6 +402,7 @@ module TrieveRubyClient
|
|
372
402
|
search_type == o.search_type &&
|
373
403
|
slim_chunks == o.slim_chunks &&
|
374
404
|
tag_weights == o.tag_weights &&
|
405
|
+
use_reranker == o.use_reranker &&
|
375
406
|
use_weights == o.use_weights
|
376
407
|
end
|
377
408
|
|
@@ -384,7 +415,7 @@ module TrieveRubyClient
|
|
384
415
|
# Calculates hash code according to all attributes.
|
385
416
|
# @return [Integer] Hash code
|
386
417
|
def hash
|
387
|
-
[content_only, filters,
|
418
|
+
[content_only, filters, get_total_pages, highlight_delimiters, highlight_max_length, highlight_max_num, highlight_results, highlight_threshold, highlight_window, location_bias, page, page_size, query, recency_bias, score_threshold, search_type, slim_chunks, tag_weights, use_reranker, use_weights].hash
|
388
419
|
end
|
389
420
|
|
390
421
|
# Builds the object from hash
|
@@ -0,0 +1,223 @@
|
|
1
|
+
=begin
|
2
|
+
#Trieve API
|
3
|
+
|
4
|
+
#Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 0.11.0
|
7
|
+
Contact: developers@trieve.ai
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
Generator version: 7.4.0
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module TrieveRubyClient
|
17
|
+
class SearchClusterResponse
|
18
|
+
attr_accessor :clusters
|
19
|
+
|
20
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
21
|
+
def self.attribute_map
|
22
|
+
{
|
23
|
+
:'clusters' => :'clusters'
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
# Returns all the JSON keys this model knows about
|
28
|
+
def self.acceptable_attributes
|
29
|
+
attribute_map.values
|
30
|
+
end
|
31
|
+
|
32
|
+
# Attribute type mapping.
|
33
|
+
def self.openapi_types
|
34
|
+
{
|
35
|
+
:'clusters' => :'Array<SearchClusterTopics>'
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
# List of attributes with nullable: true
|
40
|
+
def self.openapi_nullable
|
41
|
+
Set.new([
|
42
|
+
])
|
43
|
+
end
|
44
|
+
|
45
|
+
# Initializes the object
|
46
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
47
|
+
def initialize(attributes = {})
|
48
|
+
if (!attributes.is_a?(Hash))
|
49
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `TrieveRubyClient::SearchClusterResponse` initialize method"
|
50
|
+
end
|
51
|
+
|
52
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
53
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
54
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
55
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `TrieveRubyClient::SearchClusterResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
56
|
+
end
|
57
|
+
h[k.to_sym] = v
|
58
|
+
}
|
59
|
+
|
60
|
+
if attributes.key?(:'clusters')
|
61
|
+
if (value = attributes[:'clusters']).is_a?(Array)
|
62
|
+
self.clusters = value
|
63
|
+
end
|
64
|
+
else
|
65
|
+
self.clusters = nil
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
70
|
+
# @return Array for valid properties with the reasons
|
71
|
+
def list_invalid_properties
|
72
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
73
|
+
invalid_properties = Array.new
|
74
|
+
if @clusters.nil?
|
75
|
+
invalid_properties.push('invalid value for "clusters", clusters cannot be nil.')
|
76
|
+
end
|
77
|
+
|
78
|
+
invalid_properties
|
79
|
+
end
|
80
|
+
|
81
|
+
# Check to see if the all the properties in the model are valid
|
82
|
+
# @return true if the model is valid
|
83
|
+
def valid?
|
84
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
85
|
+
return false if @clusters.nil?
|
86
|
+
true
|
87
|
+
end
|
88
|
+
|
89
|
+
# Checks equality by comparing each attribute.
|
90
|
+
# @param [Object] Object to be compared
|
91
|
+
def ==(o)
|
92
|
+
return true if self.equal?(o)
|
93
|
+
self.class == o.class &&
|
94
|
+
clusters == o.clusters
|
95
|
+
end
|
96
|
+
|
97
|
+
# @see the `==` method
|
98
|
+
# @param [Object] Object to be compared
|
99
|
+
def eql?(o)
|
100
|
+
self == o
|
101
|
+
end
|
102
|
+
|
103
|
+
# Calculates hash code according to all attributes.
|
104
|
+
# @return [Integer] Hash code
|
105
|
+
def hash
|
106
|
+
[clusters].hash
|
107
|
+
end
|
108
|
+
|
109
|
+
# Builds the object from hash
|
110
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
111
|
+
# @return [Object] Returns the model itself
|
112
|
+
def self.build_from_hash(attributes)
|
113
|
+
return nil unless attributes.is_a?(Hash)
|
114
|
+
attributes = attributes.transform_keys(&:to_sym)
|
115
|
+
transformed_hash = {}
|
116
|
+
openapi_types.each_pair do |key, type|
|
117
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
118
|
+
transformed_hash["#{key}"] = nil
|
119
|
+
elsif type =~ /\AArray<(.*)>/i
|
120
|
+
# check to ensure the input is an array given that the attribute
|
121
|
+
# is documented as an array but the input is not
|
122
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
123
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
124
|
+
end
|
125
|
+
elsif !attributes[attribute_map[key]].nil?
|
126
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
127
|
+
end
|
128
|
+
end
|
129
|
+
new(transformed_hash)
|
130
|
+
end
|
131
|
+
|
132
|
+
# Deserializes the data based on type
|
133
|
+
# @param string type Data type
|
134
|
+
# @param string value Value to be deserialized
|
135
|
+
# @return [Object] Deserialized data
|
136
|
+
def self._deserialize(type, value)
|
137
|
+
case type.to_sym
|
138
|
+
when :Time
|
139
|
+
Time.parse(value)
|
140
|
+
when :Date
|
141
|
+
Date.parse(value)
|
142
|
+
when :String
|
143
|
+
value.to_s
|
144
|
+
when :Integer
|
145
|
+
value.to_i
|
146
|
+
when :Float
|
147
|
+
value.to_f
|
148
|
+
when :Boolean
|
149
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
150
|
+
true
|
151
|
+
else
|
152
|
+
false
|
153
|
+
end
|
154
|
+
when :Object
|
155
|
+
# generic object (usually a Hash), return directly
|
156
|
+
value
|
157
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
158
|
+
inner_type = Regexp.last_match[:inner_type]
|
159
|
+
value.map { |v| _deserialize(inner_type, v) }
|
160
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
161
|
+
k_type = Regexp.last_match[:k_type]
|
162
|
+
v_type = Regexp.last_match[:v_type]
|
163
|
+
{}.tap do |hash|
|
164
|
+
value.each do |k, v|
|
165
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
else # model
|
169
|
+
# models (e.g. Pet) or oneOf
|
170
|
+
klass = TrieveRubyClient.const_get(type)
|
171
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
# Returns the string representation of the object
|
176
|
+
# @return [String] String presentation of the object
|
177
|
+
def to_s
|
178
|
+
to_hash.to_s
|
179
|
+
end
|
180
|
+
|
181
|
+
# to_body is an alias to to_hash (backward compatibility)
|
182
|
+
# @return [Hash] Returns the object in the form of hash
|
183
|
+
def to_body
|
184
|
+
to_hash
|
185
|
+
end
|
186
|
+
|
187
|
+
# Returns the object in the form of hash
|
188
|
+
# @return [Hash] Returns the object in the form of hash
|
189
|
+
def to_hash
|
190
|
+
hash = {}
|
191
|
+
self.class.attribute_map.each_pair do |attr, param|
|
192
|
+
value = self.send(attr)
|
193
|
+
if value.nil?
|
194
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
195
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
196
|
+
end
|
197
|
+
|
198
|
+
hash[param] = _to_hash(value)
|
199
|
+
end
|
200
|
+
hash
|
201
|
+
end
|
202
|
+
|
203
|
+
# Outputs non-array value in the form of hash
|
204
|
+
# For object, use to_hash. Otherwise, just return the value
|
205
|
+
# @param [Object] value Any valid value
|
206
|
+
# @return [Hash] Returns the value in the form of hash
|
207
|
+
def _to_hash(value)
|
208
|
+
if value.is_a?(Array)
|
209
|
+
value.compact.map { |v| _to_hash(v) }
|
210
|
+
elsif value.is_a?(Hash)
|
211
|
+
{}.tap do |hash|
|
212
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
213
|
+
end
|
214
|
+
elsif value.respond_to? :to_hash
|
215
|
+
value.to_hash
|
216
|
+
else
|
217
|
+
value
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
end
|
222
|
+
|
223
|
+
end
|