$34 GRAYBYTE WORDPRESS FILE MANAGER $41

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/ruby23/lib64/ruby/2.3.0/psych/

HOME
Current File : /opt/alt/ruby23/lib64/ruby/2.3.0/psych//tree_builder.rb
# frozen_string_literal: false
require 'psych/handler'

module Psych
  ###
  # This class works in conjunction with Psych::Parser to build an in-memory
  # parse tree that represents a YAML document.
  #
  # == Example
  #
  #   parser = Psych::Parser.new Psych::TreeBuilder.new
  #   parser.parse('--- foo')
  #   tree = parser.handler.root
  #
  # See Psych::Handler for documentation on the event methods used in this
  # class.
  class TreeBuilder < Psych::Handler
    # Returns the root node for the built tree
    attr_reader :root

    # Create a new TreeBuilder instance
    def initialize
      @stack = []
      @last  = nil
      @root  = nil
    end

    %w{
      Sequence
      Mapping
    }.each do |node|
      class_eval %{
        def start_#{node.downcase}(anchor, tag, implicit, style)
          n = Nodes::#{node}.new(anchor, tag, implicit, style)
          @last.children << n
          push n
        end

        def end_#{node.downcase}
          pop
        end
      }
    end

    ###
    # Handles start_document events with +version+, +tag_directives+,
    # and +implicit+ styling.
    #
    # See Psych::Handler#start_document
    def start_document version, tag_directives, implicit
      n = Nodes::Document.new version, tag_directives, implicit
      @last.children << n
      push n
    end

    ###
    # Handles end_document events with +version+, +tag_directives+,
    # and +implicit+ styling.
    #
    # See Psych::Handler#start_document
    def end_document implicit_end = !streaming?
      @last.implicit_end = implicit_end
      pop
    end

    def start_stream encoding
      @root = Nodes::Stream.new(encoding)
      push @root
    end

    def end_stream
      pop
    end

    def scalar value, anchor, tag, plain, quoted, style
      s = Nodes::Scalar.new(value,anchor,tag,plain,quoted,style)
      @last.children << s
      s
    end

    def alias anchor
      @last.children << Nodes::Alias.new(anchor)
    end

    private
    def push value
      @stack.push value
      @last = value
    end

    def pop
      x = @stack.pop
      @last = @stack.last
      x
    end
  end
end


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2024 10.43 PM
root / root
0755
handlers
--
3 Mar 2024 10.43 PM
root / linksafe
0755
json
--
3 Mar 2024 10.43 PM
root / linksafe
0755
nodes
--
3 Mar 2024 10.43 PM
root / linksafe
0755
visitors
--
3 Mar 2024 10.43 PM
root / linksafe
0755
class_loader.rb
1.91 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
coder.rb
2.05 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
core_ext.rb
0.764 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
deprecated.rb
2.521 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
exception.rb
0.259 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
handler.rb
7.05 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
nodes.rb
2.355 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
omap.rb
0.074 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
parser.rb
1.672 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
scalar_scanner.rb
4.274 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
set.rb
0.073 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
stream.rb
0.902 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
streaming.rb
0.652 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
syntax_error.rb
0.572 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
tree_builder.rb
2.085 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
versions.rb
0.09 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
visitors.rb
0.231 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
y.rb
0.187 KB
26 Jul 2023 2.39 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF