なるようになるブログ

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

rails commit log流し読み(2018/01/16)

2018/01/16分のコミットです。

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

activerecord/CHANGELOG.md


Fix relation merger issue with left_outer_joins

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

left_outer_joinsをrelationのmergeに指定した場合に、正しく動作しないバグがあったのを修正しています。


Extract content types from blob data

Active Storageの修正です。

blobからcontent typeを取得するようにし、upload等の処理ではその取得したcontent typeを使用するよう修正しています。

もともとはブラウザから送信されたcontent typeをそのまま使用していたのですが、ブラウザからは誤ったcontent typeが送信されることがまあまああり、そのまま使うと正しく動作しなかった為、独自に取得するようにしたとの事です。

実際のcontent typeの取得処理には、marcelというBasecamp製のgemを作っています。


Fix constant reference

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

Digest::SHA2クラスの指定が相対での指定になっていたのを、トップレベルからの指定に修正しています。

        def truncate_key(key)
           if key.bytesize > max_key_bytesize
-            suffix = ":sha2:#{Digest::SHA2.hexdigest(key)}"
+            suffix = ":sha2:#{::Digest::SHA2.hexdigest(key)}"