diff --git a/lib/psych/nodes/node.rb b/lib/psych/nodes/node.rb index 1a4ea553..6ae5c591 100644 --- a/lib/psych/nodes/node.rb +++ b/lib/psych/nodes/node.rb @@ -55,7 +55,8 @@ def to_ruby(symbolize_names: false, freeze: false, strict_integer: false) # # See also Psych::Visitors::Emitter def yaml io = nil, options = {} - require "stringio" + require "stringio" unless defined?(StringIO) + real_io = io || StringIO.new(''.encode('utf-8')) Visitors::Emitter.new(real_io, options).accept self