method
parse_stream
v1_9_3_392 -
Show latest stable
- Class:
Psych
parse_stream(yaml, filename = nil, &block)public
Parse a YAML string in yaml. Returns the full AST for the YAML document. This method can handle multiple YAML documents contained in yaml. filename is used in the exception message if a Psych::SyntaxError is raised.
If a block is given, a Psych::Nodes::Document node will be yielded to the block as it’s being parsed.
Raises a Psych::SyntaxError when a YAML syntax error is detected.
Example:
Psych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00> Psych.parse_stream("--- a\n--- b") do |node| node # => #<Psych::Nodes::Document:0x00> end begin Psych.parse_stream("--- `", "file.txt") rescue Psych::SyntaxError => ex ex.file # => 'file.txt' ex.message # => "(foo.txt): found character that cannot start any token" end
See Psych::Nodes for more information about YAML AST.