Spec-Zone.ru › Ruby 3.4
  1. SyntaxSuggest::
  2. RipperErrors

class SyntaxSuggest::RipperErrors

Родительский класс:
Ripper

Capture ошибки разбора из Ripper

Prism возвращает ошибки с сообщениями, но Ripper этого не делает. Чтобы получить их, нужно создать собственный подкласс.

Пример:

puts RipperErrors.new(" def foo").call.errors
# => ["syntax error, unexpected end-of-input, expecting ';' or '\\n'"]

Атрибуты

errors [R]

Открытые методы экземпляра

call () Показать исходный код
# File lib/syntax_suggest/ripper_errors.rb, line 30
def call
  @run_once ||= begin
    @errors = []
    parse
    true
  end
  self
end
compile_error (msg)
Псевдоним для: on_parse_error
on_alias_error (msg)
Псевдоним для: on_parse_error
on_assign_error (msg)
Псевдоним для: on_parse_error
on_class_name_error (msg)
Псевдоним для: on_parse_error
on_param_error (msg)
Псевдоним для: on_parse_error
on_parse_error (msg) Показать исходный код
# File lib/syntax_suggest/ripper_errors.rb, line 19
def on_parse_error(msg)
  @errors ||= []
  @errors << msg
end

Метод из ripper, вызывается при каждой ошибке разбора; msg — строка

Также имеет псевдонимы: on_alias_error, on_assign_error, on_class_name_error, on_param_error, compile_error

Ruby Core © 1993–2025 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API