class SyntaxSuggest::RipperErrors
Capture Parse-Fehler von Ripper
Prism gibt die Fehler mit ihren Meldungen zurück, Ripper jedoch nicht. Um sie zu erhalten, müssen wir eine benutzerdefinierte Unterklasse erstellen.
Beispiel
puts RipperErrors.new(" def foo").call.errors # => ["syntax error, unexpected end-of-input, expecting ';' or '\\n'"]
Attribute
Öffentliche Instanzmethoden
Source
# File lib/syntax_suggest/ripper_errors.rb, line 30 def call @run_once ||= begin @errors = [] parse true end self end
Source
# File lib/syntax_suggest/ripper_errors.rb, line 19 def on_parse_error(msg) @errors ||= [] @errors << msg end
Kommt von ripper, wird bei jedem Parse-Fehler aufgerufen, msg ist ein String