Skip to content

abstract class Athena::Serializer::Context
inherits Reference #

Stores runtime data about the current action.

Such as what serialization groups/version to use when serializing.

Warning

Cannot be used for more than one action.

Direct known subclasses

Athena::Serializer::DeserializationContext Athena::Serializer::SerializationContext

Methods#

#add_exclusion_strategy(strategy : ASR::ExclusionStrategies::ExclusionStrategyInterface) : self#

Adds strategy to self.

View source

abstract #direction : ASR::Context::Direction#

Returns which (de)serialization action self represents.

View source

#exclusion_strategy : ASR::ExclusionStrategies::ExclusionStrategyInterface | ::Nil#

View source

#groups : Set(String) | ::Nil#

Returns the serialization groups, if any, currently set on self.

View source

#groups=(groups : Enumerable(String)) : self#

Sets the group(s) to compare against properties' ASRA::Groups annotations.

Adds a ASR::ExclusionStrategies::Groups automatically if set.

View source

#version : SemanticVersion | ::Nil#

Returns the version, if any, currently set on self.

View source

#version=(version : SemanticVersion | Nil)#

Returns the version, if any, currently set on self.

View source

#version=(version : String) : self#

Sets the version to compare against properties' ASRA::Since and ASRA::Until annotations.

Adds an ASR::ExclusionStrategies::Version automatically if set.

View source