Предупреждение Rubocop: Style/EndOfLine имеет неправильное пространство имен

Я работаю с Ruby под платформой Windows. Устранение нарушения рубокопа «Отсутствует символ возврата каретки», я создал файл .rubocop.yml в корне моего проекта:

Style/EndOfLine:
  EnforcedStyle: lf

Это решило мою проблему «Возврат каретки». Но появляется новое предупреждение:

~/project/.rubocop.yml:Style/EndOfLine имеет неправильное пространство имен — должно быть Layout

Что значит "неверное пространство имен - должно быть Layout"? На данный момент я понятия не имею, куда копать, чтобы исправить это.


person Dmitry Dmitriev    schedule 07.09.2017    source источник
comment
Необходимо использовать Layout/EndOfLine, поскольку rubucop EndOfLine работает в отделе компоновки Спасибо Эндрю Маршалл за ответ.   -  person Dmitry Dmitriev    schedule 08.09.2017


Ответы (4)


Это Layout/EndOfLine, а не Style/EndOfLine. Часть перед / — это пространство имен.

person Andrew Marshall    schedule 07.09.2017

Чтобы убрать это предупреждение, нужно использовать Layout/EndOfLine вместо Style/EndOfLine. EndOfLine – это полицейский, ответственный за выявление правонарушений. связанные с отступом, потому что он находится в отделе макетов.

  Layout/EndOfLine:
    EnforcedStyle: lf

Интересно, почему в этот комментарий об исправлении "Отсутствует символ возврата каретки " рекомендуется использовать Style/EndOfLine. Это относительно новая статья и комментарии. Похоже, с апреля в рубокоп добавились некоторые изменения.

person Dmitry Dmitriev    schedule 08.09.2017
comment
Если вы прочитаете следующие комментарии в том же выпуске, вы найдете правильный ответ. Глядя на историю этого полицейского вы можете видеть, что пространство имен изменилось 15 апреля этого года - person spickermann; 08.09.2017

Похоже, вам нужно сделать отступ во второй строке:

Style/EndOfLine:
  EnforcedStyle: lf
person Ben Scheirman    schedule 07.09.2017
comment
Да, но я думаю, что это не причина сообщения. - person Sergio Tulentsev; 07.09.2017
comment
Понятно. Похоже, ответ Эндрю Маршалла имеет правильное пространство имен. - person Ben Scheirman; 07.09.2017

Я использую RubyMine в Windows 10, и мой .rubocop.yml включает следующее:

Layout/EndOfLine:
    EnforcedStyle: lf

Если я запускаю Rubocop из командной строки, я получаю пометку в строке 1, но в RubyMine не выделяются ошибки.

Если я изменю .rubocop.yml на:

Layout/Endofline:
    EnforcedStyle: crlf

Затем я не получаю ошибок при запуске из командной строки, но первая строка в каждом файле выделена RubyMine RuboCop.

person albatross    schedule 12.04.2018
comment
Это не похоже на ответ. - person Venantius; 13.04.2018