Skip to content

class YAML::ParseContext
inherits Reference

Parsing context that holds anchors and what they refer to.

When implementing new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) to deserialize an object from a node, Reference types must invoke both read_alias and record_anchor in order to support parsing recursive data structures.

  • read_alias must be invoked before an instance is created
  • record_anchor must be invoked after an instance is created and before its members are deserialized.

Class methods

Methods

#read_alias(node, type : T.class, &) forall T

Tries to read an alias from node of type T. Invokes the block if successful, and invokers must return this object instead of deserializing their members.

View source

#read_alias?(node, type : T.class, &) forall T

Similar to read_alias but doesn't raise if an alias exists but an instance of type T isn't associated with the current anchor.

View source

#record_anchor(node, object : T) : Nil forall T

Associates an object with an anchor.

View source