Sha256: e4af74dadb6d2f5152fb28860a1e600b56582fcceeaaf685c504c1262ed61a74

Contents?: true

Size: 1.78 KB

Versions: 17

Compression:

Stored size: 1.78 KB

Contents

# frozen_string_literal: false
module Psych
  module Nodes
    ###
    # 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
    class Document < Psych::Nodes::Node
      # The version of the YAML document
      attr_accessor :version

      # A list of tag directives for this document
      attr_accessor :tag_directives

      # Was this document implicitly created?
      attr_accessor :implicit

      # Is the end of the document implicit?
      attr_accessor :implicit_end

      ###
      # 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
      def initialize version = [], tag_directives = [], implicit = false
        super()
        @version        = version
        @tag_directives = tag_directives
        @implicit       = implicit
        @implicit_end   = true
      end

      ###
      # Returns the root node.  A Document may only have one root node:
      # http://yaml.org/spec/1.1/#id898031
      def root
        children.first
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
psych-3.0.0.beta2-java lib/psych/nodes/document.rb
psych-3.0.0.beta2 lib/psych/nodes/document.rb
psych-2.2.4-java lib/psych/nodes/document.rb
psych-2.2.4 lib/psych/nodes/document.rb
psych-2.2.3-java lib/psych/nodes/document.rb
psych-2.2.3 lib/psych/nodes/document.rb
ruby-compiler-0.1.1 vendor/ruby/ext/psych/lib/psych/nodes/document.rb
psych-2.2.2-java lib/psych/nodes/document.rb
psych-2.2.2 lib/psych/nodes/document.rb
psych-2.2.1-java lib/psych/nodes/document.rb
psych-2.2.1 lib/psych/nodes/document.rb
psych-2.2.0-java lib/psych/nodes/document.rb
psych-2.2.0 lib/psych/nodes/document.rb
psych-2.1.1-java lib/psych/nodes/document.rb
psych-2.1.1 lib/psych/nodes/document.rb
psych-2.1.0-java lib/psych/nodes/document.rb
psych-2.1.0 lib/psych/nodes/document.rb