2016-11-27 10 views
3

Я использую ActiveAdmin, где DSL предрасполагает к формированию больших блоков. Таким образом, rubocop говорит:Можно ли отключить проверку rubocop только по определенным дорогам?

Блок имеет слишком много линий

  • Я хочу предупредить, когда неактивные-администратор файлов имеют большие блоки.
  • Я хочу ignorelarge blocks в ActiveAdmin.
  • Я не хочу, чтобы добавить per-file ignore instructions (docs):

    # rubocop:disable BlockLength 
    
  • Ignoring the whole directory не будет работать, так как другие вещи могут быть пропущены.

Я мог бы подумать о некоторой конфигурации для ActiveAdmin, которая будет глобально влиять на все его реестры, но я бы идеально поместил конфигурацию в dotcopfile rubocop.

ответ

5

Вы можете отключить один коп для одного каталога или определенных файлов. Скажем, в вашем примере, вы хотите, чтобы исключить ActiveAdmin файлов из осмотрены Metrics/BlockLength, и ваши файлы расположены в app/admin, добавьте это к вашим .rubocop.yml:

Metrics/BlockLength: 
    Exclude: 
    - 'app/admin/**/*' 

Обратите внимание, что это перекроет исключает по умолчанию (реки и файлы спецификаций.) Если вы все еще хотите, чтобы они были исключены, вы должны добавить их в свою конфигурацию:

Metrics/BlockLength: 
    Exclude: 
    - 'app/admin/**/*' 
    - 'Rakefile' 
    - '**/*.rake' 
    - 'spec/**/*.rb'