2021年3月13日

Rubyのヒアドキュメント中に引用符を書きたい場合がある。こんなの。

t = [1, 2, 3]
puts <<"TEST"
#{t.join(",")}
TEST

ここでt.join(",")の引用符を、Rubocopはデフォルトでシングルクォーツにしろと怒ってくる。

test.rb:3:10: C: Style/StringLiteralsInInterpolation: Prefer single-quoted strings inside interpolations.
#{t.join(",")}
         ^^^

でも、rufoはここをデフォルトでダブルクォーツに直してくる。VimのALEがチェックにrubocopを、フォーマッタにrufoを使うので、保存時にrufoが直してはrubocopが怒る、というループになる。

結局、.rubocop.yml

Style/StringLiteralsInInterpolation:
  EnforcedStyle: double_quotes

と書いて、rubocopをrufoに歩み寄らせた。