Contribution to RuboCop

このエントリーをはてなブックマークに追加

今日はいくつか RuboCop に PR を送った。

Update auto-gen-config's comment re auto-correct for SafeAutoCorrect: false
https://github.com/rubocop/rubocop/pull/10673

これは rubocop-todo-corrector がうまく動かないケースがあって調べていたら見つけたもの。 このPRで Safe が false のものについては --autocorrect-all を使ってくれと、 .rubocop_todo.yml に出力されるのだが、SafeAutoCorrect が false のものについては --autocollect を使ってくれと出力されてしまう。

# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:

そして、その通りにコマンドを実行してみる。

bundle exec rubocop --auto-correct foo.rb

とこうなる。

Offenses:

foo.rb:1:1: C: [Correctable] Style/FrozenStringLiteralComment: Missing frozen string literal comment.
something
^

1 file inspected, 1 offenses detected, 1 more offenses can be corrected with `rubocop -A`

なので、SafeAutoCorrect: false な Cop についても--auto-correct-all をサジェストするようにする。


Fix a false positive for Naming/AccessorMethodName with arguments forwarding
https://github.com/rubocop/rubocop/pull/10674

たまたま似たようなPR作った気がするなと思い出して、 たまたま見ていたNaming/AccessorMethodNameでもset_に arguments forwarding 渡しても許容しても良いのではとなって送った。

以下のようなコードは not offense となる。

# Good

def set_something(...)
  # ...
end