From 240c9acb5c3ee0b3d538cf9ba12cb27f5e469dca Mon Sep 17 00:00:00 2001 From: tenderlove Date: Thu, 8 Mar 2012 21:31:05 +0000 Subject: * ext/psych/lib/psych.rb (load, parse): stop parsing or loading after the first document has been parsed. * test/psych/test_stream.rb: pertinent tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/psych/lib/psych.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ext/psych') diff --git a/ext/psych/lib/psych.rb b/ext/psych/lib/psych.rb index 69f3a7c1fe..df3acc0aff 100644 --- a/ext/psych/lib/psych.rb +++ b/ext/psych/lib/psych.rb @@ -148,8 +148,10 @@ module Psych # # See Psych::Nodes for more information about YAML AST. def self.parse yaml, filename = nil - children = parse_stream(yaml, filename).children - children.empty? ? false : children.first.children.first + parse_stream(yaml, filename) do |node| + return node + end + false end ### -- cgit v1.2.3