Class: Psych::Nodes::Document
Overview
This represents a YAML Document. This node must be a child of Psych::Nodes::Stream. A Psych::Nodes::Document must have one child, and that child may be one of the following:
-
Psych::Nodes::Sequence
-
Psych::Nodes::Mapping
-
Psych::Nodes::Scalar
Instance Attribute Summary collapse
-
#implicit ⇒ Object
Was this document implicitly created?.
-
#implicit_end ⇒ Object
Is the end of the document implicit?.
-
#tag_directives ⇒ Object
A list of tag directives for this document.
-
#version ⇒ Object
The version of the YAML document.
Attributes inherited from Node
Instance Method Summary collapse
-
#initialize(version = [], tag_directives = [], implicit = false) ⇒ Document
constructor
Create a new Psych::Nodes::Document object.
-
#root ⇒ Object
Returns the root node.
Methods inherited from Node
Constructor Details
#initialize(version = [], tag_directives = [], implicit = false) ⇒ Document
Create a new Psych::Nodes::Document object.
version
is a list indicating the YAML version. tags_directives
is a list of tag directive declarations implicit
is a flag indicating whether the document will be implicitly started.
Example:
This creates a YAML document object that represents a YAML 1.1 document with one tag directive, and has an implicit start:
Psych::Nodes::Document.new(
[1,1],
[["!", "tag:tenderlovemaking.com,2009:"]],
true
)
See Also
See also Psych::Handler#start_document
44 45 46 47 48 49 50 |
# File 'lib/psych/nodes/document.rb', line 44 def initialize version = [], tag_directives = [], implicit = false super() @version = version @tag_directives = tag_directives @implicit = implicit @implicit_end = true end |
Instance Attribute Details
#implicit ⇒ Object
Was this document implicitly created?
19 20 21 |
# File 'lib/psych/nodes/document.rb', line 19 def implicit @implicit end |
#implicit_end ⇒ Object
Is the end of the document implicit?
22 23 24 |
# File 'lib/psych/nodes/document.rb', line 22 def implicit_end @implicit_end end |
#tag_directives ⇒ Object
A list of tag directives for this document
16 17 18 |
# File 'lib/psych/nodes/document.rb', line 16 def tag_directives @tag_directives end |
#version ⇒ Object
The version of the YAML document
13 14 15 |
# File 'lib/psych/nodes/document.rb', line 13 def version @version end |
Instance Method Details
#root ⇒ Object
Returns the root node. A Document may only have one root node: yaml.org/spec/1.1/#id898031
55 56 57 |
# File 'lib/psych/nodes/document.rb', line 55 def root children.first end |