Class: Psych::Nodes::Node
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
|
|
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
Enumerable
|
|
Inherits: | Object |
Defined in: | ext/psych/lib/psych/nodes/node.rb |
Overview
The base class for any Node
in a YAML parse tree. This class should never be instantiated.
Class Method Summary
-
.new ⇒ Node
constructor
Create a new
Node
Instance Attribute Summary
-
#children
readonly
The children of this node.
-
#end_column
rw
The column number where this node ends.
-
#end_line
rw
The line number where this node ends.
-
#start_column
rw
The column number where this node start.
-
#start_line
rw
The line number where this node start.
-
#tag
readonly
An associated tag.
Instance Method Summary
-
#each(&block)
Iterate over each node in the tree.
-
#to_ruby
(also: #transform)
Convert this node to Ruby.
- #to_yaml(io = nil, options = {})
- #transform
-
#yaml(io = nil, options = {})
(also: #to_yaml)
Convert this node to YAML.
Constructor Details
.new ⇒ Node
Create a new Node
# File 'ext/psych/lib/psych/nodes/node.rb', line 33
def initialize @children = [] end
Instance Attribute Details
#children (readonly)
The children of this node
# File 'ext/psych/lib/psych/nodes/node.rb', line 15
attr_reader :children
#end_column (rw)
The column number where this node ends
# File 'ext/psych/lib/psych/nodes/node.rb', line 30
attr_accessor :end_column
#end_line (rw)
The line number where this node ends
# File 'ext/psych/lib/psych/nodes/node.rb', line 27
attr_accessor :end_line
#start_column (rw)
The column number where this node start
# File 'ext/psych/lib/psych/nodes/node.rb', line 24
attr_accessor :start_column
#start_line (rw)
The line number where this node start
# File 'ext/psych/lib/psych/nodes/node.rb', line 21
attr_accessor :start_line
#tag (readonly)
An associated tag
# File 'ext/psych/lib/psych/nodes/node.rb', line 18
attr_reader :tag
Instance Method Details
#each(&block)
Iterate over each node in the tree. Yields each node to block
depth first.
# File 'ext/psych/lib/psych/nodes/node.rb', line 40
def each &block return enum_for :each unless block_given? Visitors::DepthFirst.new(block).accept self end
#to_ruby Also known as: #transform
Convert this node to Ruby.
See also ::Psych::Visitors::ToRuby
#to_yaml(io = nil, options = {})
[ GitHub ]# File 'ext/psych/lib/psych/nodes/node.rb', line 65
alias :to_yaml :yaml
#transform
[ GitHub ]# File 'ext/psych/lib/psych/nodes/node.rb', line 52
alias :transform :to_ruby
#yaml(io = nil, options = {}) Also known as: #to_yaml
Convert this node to YAML.
See also ::Psych::Visitors::Emitter