class SyntaxSuggest::MiniStringIO
Acts like a StringIO
with reduced API, but without having to require that class.
The original codebase emitted directly to $stderr, but now SyntaxError#detailed_message
needs a string output. To accomplish that we kept the original print infrastructure in place and added this class to accumulate the print output into a string.
Constants
- EMPTY_ARG
Attributes
Public Class Methods
Source
# File lib/syntax_suggest/mini_stringio.rb, line 15 def initialize(isatty: $stderr.isatty) @string = +"" @isatty = isatty end
Public Instance Methods
Source
# File lib/syntax_suggest/mini_stringio.rb, line 21 def puts(value = EMPTY_ARG, **) if !value.equal?(EMPTY_ARG) @string << value end @string << $/ end