diff options
author | Daniel Colson <danieljamescolson@gmail.com> | 2018-04-03 20:50:00 -0400 |
---|---|---|
committer | Daniel Colson <danieljamescolson@gmail.com> | 2018-04-03 22:35:34 -0400 |
commit | f88f5a457cb95dc22519aa33b527a73f198e92e8 (patch) | |
tree | 87b8a771d492be9ac20a72ea84466d3f251b8a5b /.rubocop.yml | |
parent | 09b2348f7fc8d4e7191e70e06608c5909067e2aa (diff) | |
download | rails-f88f5a457cb95dc22519aa33b527a73f198e92e8.tar.gz rails-f88f5a457cb95dc22519aa33b527a73f198e92e8.tar.bz2 rails-f88f5a457cb95dc22519aa33b527a73f198e92e8.zip |
Add custom RuboCop for `assert_not` over `refute`
Since at least cf4afc4 we have preferred `assert_not` methods over
`refute` methods. I have seen plenty of comments in PRs about this,
and we have tried to fix it a few times (5294ad8, e45f176, 8910f12,
41f50be, d4cfd54, 48a183e, and 211adb4), but the `refute` methods
keep sneaking back in.
This custom RuboCop will take care of enforcing this preference, so we
don't have to think about it again. I suspect there are other similar
stylistic preferences that could be solved with some custom RuboCops, so
I will definitely keep my eyes open. `assert_not` over `assert !` might
be a good candidate, for example.
I wasn't totally sure if `ci/custom_cops` was the best place to put
this, but nothing else seemed quite right. At one point I had it set up
as a gem, but I think custom cops like this would have limited value
in another context.
I want to see how code climate handles the new cops before
autocorrecting the existing violations. If things go as expected, I will
push another commit with those corrections.
Diffstat (limited to '.rubocop.yml')
-rw-r--r-- | .rubocop.yml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/.rubocop.yml b/.rubocop.yml index 3c765d5b1d..eb410376fe 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,5 @@ +require: './ci/custom_cops/lib/custom_cops' + AllCops: TargetRubyVersion: 2.4 # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop @@ -8,6 +10,11 @@ AllCops: - '**/vendor/**/*' - 'actionpack/lib/action_dispatch/journey/parser.rb' +# Prefer assert_not_x over refute_x +CustomCops/RefuteNot: + Include: + - '**/*_test.rb' + # Prefer &&/|| over and/or. Style/AndOr: Enabled: true |