Skip to content

struct Athena::Serializer::PropertyMetadata(IvarType, ValueType, ClassType)
inherits Struct #

Stores metadata related to a specific property.

This includes its name (internal and external), value, versions/groups, and any aliases.

Included modules

Athena::Serializer::PropertyMetadataBase

Class methods#

.new(name : String, external_name : String, annotation_configurations : ACF::AnnotationConfigurations, value : ValueType = nil, skip_when_empty : Bool = false, groups : Array(String) = ["default"], aliases : Array(String) = [] of String, since_version : SemanticVersion? = nil, until_version : SemanticVersion? = nil, type : IvarType.class = IvarType, class __arg0 : ClassType.class = ClassType) #

View source

Methods#

#aliases : Array(String) #

Deserialize this property from the property's name or any name in aliases.

See ASRA::Name.

View source

#annotation_configurations : ACF::AnnotationConfigurations #

Returns annotations configurations registered via Athena::Config.configuration_annotation and applied to this property.

These configurations could then be accessed within an ART::ExclusionStrategies::ExclusionStrategyInterface.

View source

#class : ClassType.class #

The class that the property is part of.

View source

#external_name : String #

The name that should be used for serialization/deserialization.

View source

#groups : Array(String) #

The serialization groups this property belongs to.

See ASR::ExclusionStrategies::Groups.

View source

#name : String #

The name of the property.

View source

#since_version : SemanticVersion? #

Represents the first version this property is available.

See ASR::ExclusionStrategies::Version.

View source

#since_version=(since_version : SemanticVersion?) #

Represents the first version this property is available.

See ASR::ExclusionStrategies::Version.

View source

#skip_when_empty? : Bool #

If this property should not be serialized if it is empty.

See ASRA::SkipWhenEmpty.

View source

#type : IvarType.class #

The type of the property.

View source

#until_version : SemanticVersion? #

Represents the last version this property was available.

See ASR::ExclusionStrategies::Version.

View source

#until_version=(until_version : SemanticVersion?) #

Represents the last version this property was available.

See ASR::ExclusionStrategies::Version.

View source

#value : ValueType #

The value of the property (when serializing).

View source