RuboCop Rails 2.3.0 をリリースした。
New features
#78: Add new Rails/EnumHash cop. (@fedeagripa, @brunvez, @santib)
pocke さんによる提案を Rootstrap 社のオープンソースハッカソンで実装された cop となる。
Happy to have participated at the Open Source Hackathon at @RootstrapInc . With my team we were able to open a couple of PRs to Rubocop Rails, a wonderful gem we use in all of our projects 😁 . Thanks @andyw8 and @koic for your quick reviews 🙌 #ruby #rails #opensource
— Santiago Bartesaghi (@santib6_) 2019年7月25日
bad と good は以下で、例えば中間の要素を削除した場合にデータベースへの値がずれることを予防するため Hash 記法を推奨するもの。
# bad enum status: [:active, :archived] # good enum status: { active: 0, archived: 1 }
auto-correct 付き。
Bug fixes
#53: Fix a false positive for Rails/SaveBang when implicitly return using finder method and creation method connected by ||. (@koic)
Rails/SaveBang
cop でデフォルトとなっている AllowImplicitReturn: true
で暗黙的な戻り値となる find(**opts) || #{method}(**opts)
のような ||
演算子による戻り値のケースでの false positive を修正している。
#97: Fix two false negatives for Rails/EnumUniqueness. 1. When enum name is not a literal. 2. When enum has multiple definitions. (@santib)
Rails/EnumHash
cop のレビューの過程で pocke さんが指摘した既存の Rails/EnumUniqueness
cop にある false negative を修正している。
Changes
#98: Mark Rails/ActiveRecordAliases as SafeAutoCorrect false and disable autocorrect by default. (@prathamesh-sonpatki)
Rails/ActiveRecordAliases
cop が自分で定義した update_attributes
も update
に auto-correct するということで、Rails イシューチームメンバーより SafeAutoCorrect: false
と変更している。
SafeAutoCorrect
については以下のエントリを参照のこと。
#101: Mark Rails/SaveBang as SafeAutoCorrect false and disable autocorrect by default. (@prathamesh-sonpatki)
同上で Rails/SaveBang
cop を SafeAutoCorrect: false
と変更している。
#102: Include create_or_find_by in Rails/SaveBang cop. (@MaximeLaurenty)
Rails/SaveBang
cop に対して、Rails 6.0 で導入される create_or_find_by
への対応を含めている。