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, &) forall T
Tries to read an alias from
nodeof typeT. -
#read_alias?(node, type : T.class, &) 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
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(*values : Object) : Bool
in?(collection) : Bool in?, inspect : String
inspect(io : IO) : Nil inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO)
to_json to_json, to_pretty_json(io : IO, indent : String = " ")
to_pretty_json(indent : String = " ") to_pretty_json, to_s : String
to_s(io : IO) : Nil to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) 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.