class YAML::ParseContext
Overview
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_aliasmust be invoked before an instance is created#record_anchormust be invoked after an instance is created and before its members are deserialized.
Defined in:
yaml/parse_context.crConstructors
Instance Method Summary
-
#read_alias(node, type : T.class, &block) forall T
Tries to read an alias from
nodeof typeT. -
#read_alias?(node, type : T.class, &block) forall T
Similar to
#read_aliasbut doesn't raise if an alias exists but an instance of type T isn't associated with the current anchor. -
#record_anchor(node, object : T) : Nil forall T
Associates an object with an anchor.
Instance methods inherited from class Reference
==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference)
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new
Instance methods inherited from class Object
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, class class, dup dup, hash(hasher)
hash hash, inspect(io : IO) : Nil
inspect : String inspect, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json to_json, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ") to_pretty_json, to_s : String
to_s(io : IO) : Nil to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&block) try, unsafe_as(type : T.class) forall T unsafe_as
Constructor methods inherited from class Object
from_json(string_or_io, root : String) : selffrom_json(string_or_io) : self from_json, from_yaml(string_or_io : String | IO) : self from_yaml
Constructor Detail
Instance Method Detail
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.
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.
Associates an object with an anchor.