class SyntaxSuggest::RipperErrors
Capture
parse errors from Ripper
Prism
returns the errors with their messages, but Ripper
does not. To get them we must make a custom subclass.
Example:
puts RipperErrors.new(" def foo").call.errors # => ["syntax error, unexpected end-of-input, expecting ';' or '\\n'"]
Attributes
errors
[R]
Public Instance Methods
call
()
# File lib/syntax_suggest/ripper_errors.rb, line 30 def call @run_once ||= begin @errors = [] parse true end self end
on_parse_error
(msg)
Comes from ripper, called on every parse error, msg is a string
# File lib/syntax_suggest/ripper_errors.rb, line 19 def on_parse_error(msg) @errors ||= [] @errors << msg end
Also aliased as: on_alias_error, on_assign_error, on_class_name_error, on_param_error, compile_error