rails/railsが設定しているEnforcedStyleAlignWith: variableへのメモ

rails/rails での var = if ... else ... end などに関する autocorrect がうまく働いていないという話から、Layout/EndAlignment などの設定を追加した PR を先日出していた。

github.com

rails/rails では EnforcedStyleAlignWith: variable を有効にしているので、以下が期待されたものになるが rails/rails に送られている PR のコードがそうなっていないときに offense が出なかったり、autocorrect がうまく働いていなかったりというあたりを改善した設定になる。

var = if cond
  foo
else
  bar
end

やりとりにあるとおり、var = case ... when ... else ... end まわりを中心とした autocorrect で動きが微妙なあたりは RuboCop 自体への変更が必要そうな継続課題として追い追い見ていく。RuboCop 自体は Ruby Style Guide に準じたデフォルト EnforcedStyleAlignWith: keyword であるため、オルタナティブの弱点をついていたのではと思っている。

スタイルは最終的に個々人の趣味でもあるので、RuboCop のイシューで見ている優先順位は低いものの rails/rails でのスタイルということと、自分も rails/rails 同様 variable にアラインメントするスタイルが好みというのが、他のやりたいこととの優先順位の中のどこかで引き続き見てみようという動機。