なるようになるブログ

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

rails commit log流し読み(2019/08/09)

2019/08/09分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activesupport/CHANGELOG.md

activerecord/CHANGELOG.md


Remove invalid autoload of ActionDispatch::Http::Upload

actionpack/lib/action_dispatch.rbの修正です。

存在しないUpload定数をautoloadに指定していたのを削除しています。


Standardize doc style for 'update_counters()' [ci skip]

activerecord/lib/active_record/relation.rbのdocの修正です。

update_countersメソッドのdocのフォーマットの修正を行っています。


Require and support rails-html-sanitzer 1.2.0

rails-html-sanitizerのバージョン指定を>= 1.2.0に修正、及び、SanitizeHelper moduleで使用するsanitizerをメソッドで定義するよう修正しています。古いsanitizer(rails-deprecated_sanitizer)で使用するsanitizerを上書き出来るようにする為。

参考: Fix compatibility with Rails edge


Merge pull request #36880 from freeletics/multiple-merge

activesupport/lib/active_support/hash_with_indifferent_access.rbの修正です。

HashWithIndifferentAccess#merge#updateメソッドに引数を複数指定出来るよう修正しています。Ruby 2.6のHash#merge#updateと挙動を合わせる為。


Merge pull request #36889 from kamipo/deprecate_reorder_with_non_deterministic_first

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

元々reorder(nil) + first / first!を使用した場合、実行されるSQLORDERが指定されておらず、結果が不定となっていました。これをRails 6.0.0.rc2では、通常firstを使用した時と同様にORDERが指定されたSQLが実行されるよう改善されました。

が、それによりエラーになってしまう(ORDERが含まれる事によりエラーになるSQLが生成されてしまう)という報告があった為、6.0ではORDERが指定されない元の挙動に戻し、6.1ではORDERが指定されるようになる旨Deprecateメッセージを表示するよう修正しています。