Class: Psych::TreeBuilder
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
Psych::Handlers::DocumentStream, JSON::TreeBuilder
|
|
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Handler
|
|
Instance Chain:
self,
Handler
|
|
Inherits: |
Psych::Handler
|
Defined in: | ext/psych/lib/psych/tree_builder.rb |
Overview
Constant Summary
Class Method Summary
-
.new ⇒ TreeBuilder
constructor
Create a new
TreeBuilder
instance.
Instance Attribute Summary
-
#root
readonly
Returns the root node for the built tree.
Handler - Inherited
#streaming? | Is this handler a streaming handler? |
Instance Method Summary
- #alias(anchor)
-
#end_document(implicit_end = !streaming?)
Handles end_document events with
version
,tag_directives
, andimplicit
styling. - #end_stream
- #scalar(value, anchor, tag, plain, quoted, style)
-
#start_document(version, tag_directives, implicit)
Handles start_document events with
version
,tag_directives
, andimplicit
styling. - #start_stream(encoding)
- #pop private
- #push(value) private
Handler - Inherited
#alias | Called when an alias is found to |
#empty | Called when an empty event happens. |
#end_document | Called with the document ends. |
#end_mapping | Called when a map ends. |
#end_sequence | Called when a sequence ends. |
#end_stream | Called when the YAML stream ends. |
#scalar | Called when a scalar |
#start_document | Called when the document starts with the declared |
#start_mapping | Called when a map starts. |
#start_sequence | Called when a sequence is started. |
#start_stream | Called with |
Constructor Details
.new ⇒ TreeBuilder
Create a new TreeBuilder
instance
# File 'ext/psych/lib/psych/tree_builder.rb', line 21
def initialize @stack = [] @last = nil @root = nil end
Instance Attribute Details
#root (readonly)
Returns the root node for the built tree
# File 'ext/psych/lib/psych/tree_builder.rb', line 18
attr_reader :root
Instance Method Details
#alias(anchor)
[ GitHub ]#end_document(implicit_end = !streaming?)
Handles end_document events with version
, tag_directives
, and implicit
styling.
# File 'ext/psych/lib/psych/tree_builder.rb', line 60
def end_document implicit_end = !streaming? @last.implicit_end = implicit_end pop end
#end_stream
[ GitHub ]# File 'ext/psych/lib/psych/tree_builder.rb', line 70
def end_stream pop end
#pop (private)
[ GitHub ]# File 'ext/psych/lib/psych/tree_builder.rb', line 90
def pop x = @stack.pop @last = @stack.last x end
#push(value) (private)
[ GitHub ]# File 'ext/psych/lib/psych/tree_builder.rb', line 85
def push value @stack.push value @last = value end
#scalar(value, anchor, tag, plain, quoted, style)
[ GitHub ]#start_document(version, tag_directives, implicit)
Handles start_document events with version
, tag_directives
, and implicit
styling.