`Style/RedundantFreeze` の偽陽性などを直した

rails/railsStyle/RedundantFreeze cop を適用する PR で正規表現の freeze まわりの偽陽性が出ているとのイシューを yahonda さんに開いてもらってその対応をしたりした。以下がオリジン。

github.com

ものとしては /regexp/.freeze に対して .freeze を消しに掛かるのを、frozen string literal での文字列とは違うので .freeze を維持するようにした。

github.com

定数代入での CONST = /regexp/.freeze が対象となっているため、Style/RedundantFreeze cop とセットで考慮する必要のある Style/MutableConstant cop には正規表現オブジェクトの定数代入時に .freeze を付与するように変更している。ケースとしてはレアなものとなるが Range オブジェクトにも同様のことが言及できたので同様の対応をしている。ハートビートで kamipo さんに教えてもらったケースで、コメントももらえていてなるほどといったケーススタディになる。

github.com