Как отключить предупреждение об отсутствии отдела для сообщения «COP» при запуске rubocop

В моем .rubocop.yml есть конфиг для отключения некоторых копов стиля.

Documentation:
  Enabled: false
ClassAndModuleChildren:
  Enabled: false
LineLength:
  Max: 120
GuardClause:
  Enabled: false
IfUnlessModifier: 
  Enabled: false

При запуске rubocop в терминале он работает нормально и отключает нежелательные копы стиля и линты, как обычно, но каждый раз, когда он запускается, я получаю эту предупреждающую ошибку для всех отключенных копов:

Warning: no department given for Documentation.

Есть ли способ отключить предупреждающее сообщение?


person Christian Bell    schedule 03.10.2019    source источник
comment
Какую версию рубокопа вы используете?   -  person Jay Dorsey    schedule 03.10.2019
comment
Версия 0.75.0.   -  person Christian Bell    schedule 03.10.2019


Ответы (1)


Полное имя полицейского Department/CopName. Например, Style/Documentation является квалифицированным, а Documentation неквалифицированным.

В документации указано, что:

Уточнение имени полицейского с его типом, например, Style, рекомендуется, но не обязательно, если имя полицейского уникально для всех типов.

Но они показывают предупреждение для неквалифицированных имен. Это происходит здесь :

# RuboCop::Cop::Registry
def qualified_cop_name(name, path, shall_warn = true)
  badge = Badge.parse(name)
  if shall_warn && department_missing?(badge, name)
    print_warning(name, path)
  end
  return name if registered?(badge)

  potential_badges = qualify_badge(badge)

  case potential_badges.size
  when 0 then name # No namespace found. Deal with it later in caller.
  when 1 then resolve_badge(badge, potential_badges.first, path)
  else raise AmbiguousCopName.new(badge, path, potential_badges)
  end
end

shall_warn является только false, когда используется опция --auto-correct. В настоящее время нет способа отключить его.

Единственный способ отключить предупреждение — включить отдел для каждого полицейского в вашу конфигурацию, например:

Style/Documentation:
  Enabled: false
Style/ClassAndModuleChildren:
  Enabled: false
Metrics/LineLength:
  Max: 120
Style/GuardClause:
  Enabled: false
Style/IfUnlessModifier: 
  Enabled: false
person cschroed    schedule 03.10.2019