Module: OpenObserve::Api::Serializable
- Included in:
- Models::AddPanel200Response, Models::AddPanelRequest, Models::Aggregation, Models::Alert, Models::AlertEdge, Models::AlertHistoryEntry, Models::AlertNode, Models::AlertSummary, Models::AnomalyAlertFields, Models::AssumeServiceAccountRequest, Models::AssumeServiceAccountResponse, Models::AxisArg, Models::AxisArgValue, Models::AxisItem, Models::BackfillJobStatus, Models::BackfillRequest, Models::BackfillResponse, Models::Background, Models::BackgroundValue, Models::BaseMap, Models::BulkDeleteRequest, Models::BulkDeleteResponse, Models::BulkResponse, Models::BulkResponseError, Models::BulkResponseItem, Models::CancelQueryResponse, Models::CloneAlertRequest, Models::ColorBySeries, Models::ColorCfg, Models::CompareHistoricData, Models::Condition, Models::ConfigOneOf, Models::ConfigOneOf1, Models::CorrelationRequest, Models::CorrelationResponse, Models::CreateAlertRequest, Models::CreateAlertRequestAllOfOneOf, Models::CreateAlertRequestBody, Models::CreateAnnotationsRequest, Models::CreateFolderRequest, Models::CreateFolderRequestBody, Models::CreateFolderResponseBody, Models::CreateFunctionRequest, Models::CreateGroupRequest, Models::CreateOrganization200Response, Models::CreateOrganizationRequest, Models::CreateRolesRequest, Models::CreateSavedViews200Response, Models::CreateSavedViewsRequest, Models::CreateShortUrl200Response, Models::CreateShortUrlRequest, Models::CreateViewRequest, Models::CreateViewResponse, Models::CrossLink, Models::CrossLinkField, Models::CustomFieldsOption, Models::Dashboard, Models::DashboardRequestBody, Models::DashboardResponseBody, Models::DateTimeOptions, Models::DedupSummaryResponse, Models::DeduplicationConfig, Models::DeleteAnnotationsRequest, Models::DeletePanel200Response, Models::DeleteSavedViews200Response, Models::DeleteViewResponse, Models::DerivedStream, Models::Destination, Models::DimensionAnalytics, Models::DimensionAnalyticsSummary, Models::DistinctField, Models::DrillDown, Models::DrillDownData, Models::DrillDownVariables, Models::Edge, Models::EnableAlertBulkRequest, Models::EnableAlertResponseBody, Models::EnrichmentTableUrlJob, Models::EnrichmentTableUrlRequest, Models::Field, Models::FieldAlias, Models::FilterCondition, Models::Filters, Models::Folder, Models::FoundGroup, Models::FunctionList, Models::GenerateSql200Response, Models::GenerateSqlMetadata, Models::GenerateSqlRequest, Models::GetAlertHistory200Response, Models::GetAlertResponseBody, Models::GetFolderResponseBody, Models::GetOrganizationUserIngestToken200Response, Models::GetOrganizationUserRumIngestToken200Response, Models::GetPipeline200Response, Models::GetSavedView200Response, Models::GetUserOrganizations200Response, Models::GlobalDeduplicationConfig, Models::GroupType, Models::GroupingConfig, Models::HTTPOutputFormatOneOf, Models::HTTPOutputFormatOneOf1, Models::HTTPOutputFormatOneOf1Stringseparated, Models::HTTPOutputFormatOneOfEsbulk, Models::HavingConditions, Models::HealthCheck200Response, Models::HealthzResponse, Models::HttpResponse, Models::IdentitySet, Models::Incident, Models::IncidentAlert, Models::IncidentStats, Models::IncidentTopology, Models::IncidentWithAlerts, Models::IngestionPasscode, Models::IngestionResponse, Models::Join, Models::JoinCondition, Models::LabelOption, Models::Layout, Models::LegendHeight, Models::LegendWidth, Models::ListAlerts200Response, Models::ListAlertsResponseBody, Models::ListAlertsResponseBodyItem, Models::ListDashboards200Response, Models::ListDashboardsResponseBody, Models::ListDashboardsResponseBodyItem, Models::ListDestinations200ResponseInner, Models::ListFolders200Response, Models::ListFoldersResponseBody, Models::ListFunctions200Response, Models::ListIncidentsQuery, Models::ListIncidentsResponse, Models::ListPipelines200Response, Models::ListReportsV2200ResponseInner, Models::ListStream, Models::ListTemplates200ResponseInner, Models::LogsIngestionLokiRequest, Models::LokiEntry, Models::LokiPushRequest, Models::LokiPushResponse, Models::LokiStream, Models::MapSymbolStyle, Models::MapType, Models::MapView, Models::Mapping, Models::MarkLine, Models::Metadata, Models::MoveAlertsRequest, Models::MoveAlertsRequestBody, Models::MoveDashboardRequest, Models::MoveDashboardRequestBody, Models::MoveDashboardsRequest, Models::MoveDashboardsRequestBody, Models::MoveReportsRequest, Models::Node, Models::NodeStyle, Models::OrgDetails, Models::OrgRenameBody, Models::OrgRoleMapping, Models::OrgSummary, Models::OrgUser, Models::Organization, Models::OrganizationResponse, Models::OrganizationSetting, Models::OrganizationSettingCreateRequest, Models::OrganizationSettingResponse, Models::OverrideConfig, Models::Panel, Models::PanelConfig, Models::PanelFields, Models::PasscodeResponse, Models::PatternAssociation, Models::Pipeline, Models::PipelineErrorInfo, Models::PipelineHistoryEntry, Models::PipelineHistoryResponse, Models::PipelineSourceOneOf, Models::PipelineSourceOneOf1, Models::PipelineSummary, Models::Position, Models::PostUserRequest, Models::PromQLLabelFilter, Models::PromQLOperation, Models::Query, Models::QueryCondition, Models::QueryConfig, Models::QueryData, Models::QueryInfo, Models::QueryStatus, Models::QueryStatusResponse, Models::RecordStatus, Models::RelatedStreams, Models::RenameOrganizationRequest, Models::ReportAttachmentDimensions, Models::ReportDashboard, Models::ReportDashboardVariable, Models::ReportDestination, Models::ReportFrequency, Models::ReportTimerange, Models::ResponseTook, Models::RumIngestionResponse, Models::RumIngestionToken, Models::ScanStats, Models::SearchEventContext, Models::SearchHistoryRequest, Models::SearchPartitionRequest, Models::SearchPartitionResponse, Models::SearchQuery, Models::SearchRequest, Models::SearchResponse, Models::SearchSQLRequest, Models::SelectedField, Models::ServiceAccountSaveRequest, Models::ServiceAccountTokenInfo, Models::ServiceAccountUpdateRequest, Models::ServiceFieldSource, Models::ServiceIdentityConfig, Models::ShardResponse, Models::ShortenUrlRequest, Models::ShortenUrlResponse, Models::SignInResponse, Models::SizeByValue, Models::Stream, Models::StreamCreate, Models::StreamCreateRequest, Models::StreamDeleteFields, Models::StreamDeleteFieldsRequest, Models::StreamField, Models::StreamFieldObj, Models::StreamInfo, Models::StreamList200Response, Models::StreamOrder, Models::StreamParams, Models::StreamPartition, Models::StreamPartitionTypeOneOf, Models::StreamSettings, Models::StreamStats, Models::StreamStatus, Models::StreamSummary, Models::SystemSetting, Models::SystemSettingPayload, Models::Tab, Models::Template, Models::TemplateTypeOneOf, Models::TemplateTypeOneOfEmail, Models::TestFunctionRequest, Models::TestVRLRequest, Models::TimeRange, Models::TimeShift, Models::TimedAnnotation, Models::TimedAnnotationDelete, Models::TimedAnnotationReq, Models::TimedAnnotationUpdate, Models::Transform, Models::Trellis, Models::TriggerCondition, Models::TriggerStatus, Models::UpdateActionRequest, Models::UpdateAlertRequest, Models::UpdateAlertRequestBody, Models::UpdateAnnotationsRequest, Models::UpdateAnomalyAlertFields, Models::UpdateFolderRequest, Models::UpdateFolderRequestBody, Models::UpdateGroupRequest, Models::UpdatePayloadOneOf, Models::UpdatePayloadOneOf1, Models::UpdatePayloadOneOf2, Models::UpdatePipelineRequest, Models::UpdateSettingsWrapperCrossLink, Models::UpdateSettingsWrapperCrossLinkAddInner, Models::UpdateSettingsWrapperPatternAssociation, Models::UpdateSettingsWrapperPatternAssociationAddInner, Models::UpdateSettingsWrapperStreamPartition, Models::UpdateSettingsWrapperStreamPartitionAddInner, Models::UpdateSettingsWrapperString, Models::UpdateSettingsWrapperTimeRange, Models::UpdateSettingsWrapperTimeRangeAddInner, Models::UpdateStreamSettings, Models::UpdateStreamSettingsRequest, Models::UpdateUser, Models::UpdateViewRequest, Models::UserList, Models::UserOrgRole, Models::UserResponse, Models::UserRoleRequest, Models::UserSaveRequest, Models::UserUpdateRequest, Models::VariableList, Models::Variables, Models::View, Models::ViewWithoutData, Models::ViewsWithoutData
- Defined in:
- lib/openobserve-api/serializable.rb
Overview
Shared serialization for all models. Models declare their attributes via the
attribute DSL (see Validations); this reads the resulting attribute table.
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object (also: #eql?)
- #hash ⇒ Object
- #to_body ⇒ Object
- #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
- #to_s ⇒ Object
Class Method Details
.serialize(value) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/openobserve-api/serializable.rb', line 42 def self.serialize(value) case value when Array then value.map { |v| serialize(v) } when Hash then value.transform_values { |v| serialize(v) } else value.respond_to?(:to_hash) ? value.to_hash : value end end |
Instance Method Details
#==(other) ⇒ Object Also known as: eql?
33 34 35 |
# File 'lib/openobserve-api/serializable.rb', line 33 def ==(other) other.is_a?(self.class) && to_hash == other.to_hash end |
#hash ⇒ Object
38 39 40 |
# File 'lib/openobserve-api/serializable.rb', line 38 def hash to_hash.hash end |
#to_body ⇒ Object
21 22 23 |
# File 'lib/openobserve-api/serializable.rb', line 21 def to_body to_hash end |
#to_hash ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/openobserve-api/serializable.rb', line 7 def to_hash result = self.class.openapi_attributes.each_with_object({}) do |(name, attr), hash| value = public_send(name) next if value.nil? && !attr[:required] hash[attr[:json_key]] = Serializable.serialize(value) end if respond_to?(:additional_properties) && additional_properties && !additional_properties.empty? # A declared attribute always wins over an overflow key of the same name. result.merge!(Serializable.serialize(additional_properties)) { |_key, declared, _extra| declared } end result end |
#to_json(*args) ⇒ Object
25 26 27 |
# File 'lib/openobserve-api/serializable.rb', line 25 def to_json(*args) to_hash.to_json(*args) end |
#to_s ⇒ Object
29 30 31 |
# File 'lib/openobserve-api/serializable.rb', line 29 def to_s to_hash.to_s end |