Ответы:
Есть способ игнорировать полицейских по очереди.
Также есть способ сделать это через файл конфигурации.
Бегать rubocop --auto-gen-config
и он сгенерирует файл, который вы можете использовать для отключения нарушений.
Команда также дает подсказку о том, что делать, чтобы загрузить эти параметры.
Построчно вы также можете включать и отключать копов.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
Вы также можете использовать в коде более одного правила за раз.
# rubocop:disable BlockComments, AsciiComments
При использовании встроенной директивы директива становится действительной только для этой строки, и это будет выглядеть так:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Вы можете больше узнать о RuboCop в его официальном руководстве .
Чтобы найти все имена правил, стоит поискать их в файлах конфигурации rubocop.
cyberwiz говорит - «беги, rubocop -D
когда мне нужны имена правил, а не в документации». Обновление : теперь это поведение по умолчанию без флага.
#!/bin/env ruby
строка комментария - это комментарий, но код, и он семантически важен. Комментарии - это не всегда только «комментарии».
Можно определить шаблоны регулярных выражений для автоматического игнорирования определенных строк rubocop.yml
, поэтому вы можете игнорировать все строки, начинающиеся с #
символа:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Это можно улучшить, чтобы строки комментариев с «отступом» (т.е. пробелы, за которыми следует #
символ) также игнорировались, если вы этого хотите.
Обратите внимание, что здесь не учитываются строки кода, заканчивающиеся комментарием:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
вместо этого должна быть IgnorePatterns
(отсутствует буква "d").
Вы можете использовать следующий комментарий с rubocop, чтобы игнорировать определенное правило:
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
Вы также можете игнорировать целые файлы, добавив их в .rubocop.yml
:
AllCops:
Exclude:
- path/to/file.rb
Я думаю, что основная идея здесь заключается в том, что вы хотите обеспечить длину строки, независимо от того, что находится после n символов. по умолчанию 80 символов - это какой-то культ груза для старых окон терминала, которые могли содержать только это количество символов. единственный вариант, который я видел в коде - это возможность разрешить URL-адреса, которые могут превышать лимит символов.
вы можете игнорировать целые файлы , я думаю, это не то, что вы ищете.