如何定义 rubocop 规则的例外情况?
How to define exceptions to rubocop rules?
我们正在使用此设置在代码块
之前要求 space
Layout/SpaceBeforeBlockBraces:
EnforcedStyle: space
但是,在 RSpec 示例中,当 expect
和 change
方法使用块以提高可读性时,我们不使用 space 方法:
expect{ calling_the_method }.to change{ Model.all.size }.by(1)
Rubocop 抱怨上面的代码。
是否可以告诉它忽略特定方法后的块或忽略匹配正则表达式的行?
我试过:
Layout/SpaceBeforeBlockBraces:
EnforcedStyle: space
IgnoredPatterns: ['\A\s*((?:expect)|(.*change))']
Is it possible to tell it [the SpaceBeforeBlockBraces cop] to ignore blocks after specific methods or ignore lines matching regex?
没有。截至 2018-08-12,我认为 SpaceBeforeBlockBraces
不支持 IgnoredPattern
选项,但这可能是一个简单的 PR。 IgnoredPattern
选项是一个 mixin (rubocop/cop/mixin/ignored_pattern.rb
),所以你可以 include
它进入你想要的任何警察。 Rubocop 对贡献有严格的规定,因此如果您进行 PR,请务必通读所有说明。
如果您想排除测试目录,SpaceBeforeBlockBraces
cop 应该支持 Exclude
选项。我认为所有警察都支持 Include
和 Exclude
。
我们正在使用此设置在代码块
之前要求 spaceLayout/SpaceBeforeBlockBraces:
EnforcedStyle: space
但是,在 RSpec 示例中,当 expect
和 change
方法使用块以提高可读性时,我们不使用 space 方法:
expect{ calling_the_method }.to change{ Model.all.size }.by(1)
Rubocop 抱怨上面的代码。 是否可以告诉它忽略特定方法后的块或忽略匹配正则表达式的行?
我试过:
Layout/SpaceBeforeBlockBraces:
EnforcedStyle: space
IgnoredPatterns: ['\A\s*((?:expect)|(.*change))']
Is it possible to tell it [the SpaceBeforeBlockBraces cop] to ignore blocks after specific methods or ignore lines matching regex?
没有。截至 2018-08-12,我认为 SpaceBeforeBlockBraces
不支持 IgnoredPattern
选项,但这可能是一个简单的 PR。 IgnoredPattern
选项是一个 mixin (rubocop/cop/mixin/ignored_pattern.rb
),所以你可以 include
它进入你想要的任何警察。 Rubocop 对贡献有严格的规定,因此如果您进行 PR,请务必通读所有说明。
如果您想排除测试目录,SpaceBeforeBlockBraces
cop 应该支持 Exclude
选项。我认为所有警察都支持 Include
和 Exclude
。