なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2018/03/04)

2018/03/04分のコミットです。

CHANGELOGへの追加はありませんでした。


Extract all base_class.name as polymorphic_name

Active Recordの修正です。

polymorphic nameを取得する為のpolymorphic_nameメソッドをInheritance moduleに追加しています。

元々はbase_class.nameから取得するようになっていたのですが、polymorphic nameを変更したい場合に、まとめて修正出来るようにする為にメソッドに切り出したようです。


Eager loading with polymorphic associations should behave consistently

activerecord/lib/active_record/associations/join_dependency.rbactiverecord/lib/active_record/relation/finder_methods.rbの修正です。

eager loadの際にpolymorphic associationsのloadエラーを無視するようになっていたのを、エラー(EagerLoadPolymorphicError)をraiseするよう修正しています。

元々は、associationが必要かどうかに関わらずloadしたい際にエラーにならないようにする為に無視するようにしていたのですが、それは別の修正で対応済みの為、処理の一貫性を保つ為、エラーをraiseするよう戻しています。


id_in_database do not return nil value for persisted record

activerecord/lib/active_record/persistence.rbactiverecord/lib/active_record/validations/uniqueness.rbの修正です。

UniquenessValidator#validate_eachメソッドでrecordのid_in_databaseメソッドを呼び出した際に結果がnilの場合にrecordのidを返すようにしていたのを削除しています。今はid_in_databasenilを返す事は無い為。


Merge Previews/Variants controller into one Representations controller.

Active Storageの修正です。

Previews/Variants controllerをRepresentations controllerにマージしています。

modelはそういう設計になっていた(Representable moduleがvariantpreviewメソッドを提供している)為、controllerもそれに合わせる為修正しています。


Fix links in the psql guide [ci skip]

rails guideのActive Record and PostgreSQLの修正です。

functions and operators及びpgcrypto generator functionへのリンクが変わっていたのを修正しています。