Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
class method
Psych.safe_load_stream
safe_load_stream(yaml, filename: nil, permitted_classes: [], aliases: false) { |doc| ... }
ext/psych/lib/psych.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/ext/psych/lib/psych.rb, line 671
def self.safe_load_stream yaml, filename: nil, permitted_classes: [], aliases: false
documents = parse_stream(yaml, filename: filename).children.map do |child|
stream = Psych::Nodes::Stream.new
stream.children << child
safe_load(stream.to_yaml, permitted_classes: permitted_classes, aliases: aliases)
end
if block_given?
documents.each { |doc| yield doc }
nil
else
documents
end
end
Load multiple documents given in yaml. Returns the parsed documents as a list.
Example:
Example
Psych.safe_load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar'] list = [] Psych.safe_load_stream("--- foo\n...\n--- bar\n...") do |ruby| list << ruby end list # => ['foo', 'bar']