class SyntaxSuggest::MiniStringIO
Verhält sich wie ein StringIO mit reduzierter API, ohne diese Klasse jedoch importieren zu müssen.
Die ursprüngliche Codebasis gab direkt nach $stderr aus, aber jetzt benötigt SyntaxError#detailed_message eine String-Ausgabe. Um dies zu erreichen, behielten wir die ursprüngliche Druckinfrastruktur bei und fügten diese Klasse hinzu, um die Druckausgabe in einem String zu sammeln.
Constants
- EMPTY_ARG
Attribute
Öffentliche Klassenmethoden
Source
# File lib/syntax_suggest/mini_stringio.rb, line 15 def initialize(isatty: $stderr.isatty) @string = +"" @isatty = isatty end
Öffentliche Instanzmethoden
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