Respostas:
Existe uma maneira de ignorar os policiais em uma base por linha.
Também existe uma maneira de fazer isso via arquivo de configuração.
Corre rubocop --auto-gen-config
e ele irá gerar um arquivo que você pode usar para desativar as ofensas.
O comando também dá uma dica sobre o que fazer para carregar essas opções.
Linha por linha, você também pode ativar e desativar os policiais.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
Você também pode fazer mais de uma regra por vez em seu código.
# rubocop:disable BlockComments, AsciiComments
Usando uma diretiva inline, a diretiva torna-se válida apenas para essa linha, e seria assim:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Você pode ler muito mais sobre RuboCop em seu manual oficial .
Para encontrar todos os nomes de regras vale a pena procurar nos arquivos de configuração do rubocop
cyberwiz diz - "execute rubocop -D
quando eu precisar dos nomes das regras ao invés de olhar na documentação." Atualização : este é agora o comportamento padrão sem a bandeira.
#!/bin/env ruby
linha de comentário é um comentário, mas código, e semanticamente importante. Os comentários nem sempre são apenas "comentários".
É possível definir padrões de regex para ignorar automaticamente certas linhas rubocop.yml
, então você pode escolher ignorar todas as linhas que começam com um #
caractere:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Isso poderia ser melhorado para que as linhas de comentários "recuassem" (ou seja, um espaço em branco seguido por um #
caractere) também sejam ignoradas, se for o que você deseja.
Observe que isso não leva em consideração as linhas de código que terminam com um comentário, embora:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
em vez IgnorePatterns
(que está faltando a letra 'd').
Você pode usar o seguinte comentário com rubocop para ignorar uma regra específica:
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
Você também pode ignorar arquivos inteiros adicionando-os a .rubocop.yml
:
AllCops:
Exclude:
- path/to/file.rb
Acho que a ideia básica aqui é que você deseja impor o comprimento da linha, não importa o que esteja depois de n caracteres. o padrão para 80 caracteres é algum culto de carga para janelas de terminais antigos que só podiam conter aquele número de caracteres. a única opção que vi no código é uma opção para permitir urls que podem exceder o limite de caracteres.
você pode ignorar arquivos inteiros , acho que não é isso que você está procurando.