なるようになるブログ

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

rails commit log流し読み(2019/07/23)

2019/07/23分のコミットです。

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

activesupport/CHANGELOG.md

activestorage/CHANGELOG.md


Merge pull request #36623 from alipman88/exclude_marshal_dump_from_delegate_missing_to

activesupport/lib/active_support/core_ext/module/delegation.rbの修正です。

marshal_dump_dumpメソッドをdelegate_missing_todelegateしないよう修正しています。

marshal_dumpを定義している、かつ、その処理の中でインスタンス変数を追加 / 削除した場合に不正なバイナリを生成してしまう、というRubyのバグがあったらしく、Marshal.dumpで不正なバイナリが生成されないようにする為にmarshal_dump_dumpメソッドはdelegate対象から除外するようにしています。なお、Rubyのmasterでは上記のような処理を行った場合、RuntimeErrorがraiseされるようになっています。

参考: Bug #15968: Custom marshal_load methods allow object instance variables to "leak" into other objects - Ruby master - Ruby Issue Tracking System


Remove changelog entry for backported change

activesupport/CHANGELOG.mdの修正です。

6-0-stableにバックポートしたCHANGELOGのエントリーを削除しています。


Make Active Storage routes optional

Active Storageの修正です。

Active Storage用のroutesを生成するかどうかをconfig(config.active_storage.draw_routes)で指定出来るよう修正しています。

Active Storageの機能は使うけど標準のroutesは使わない(独自のcontrollerで処理を行う等)場合に使用する事を想定しているとの事です。


Improve changelog entry, remove extraneous word [ci skip]

activesupport/CHANGELOG.mdの修正です。

CHANGELOGのエントリーのフォーマット、グラマーの修正を行っています。


Deprecated AM::Errors#to_h:

activemodel/lib/active_model/errors.rbの修正です。

ActiveModel::Errors#eachメソッドのblockの引数チェック処理を修正した、Fix deprecation on AM::Errors when each is called indirectly:の影響で、元々はdeprecate対象じゃなかったActiveModel::Errors#to_hメソッドを使用した場合もdeprecateメッセージが出るようになってしまっていました。

ただ、ActiveModel::Errorsにはto_hashメソッドがあり、to_hメソッドを維持する必要性もないので、正式にto_hメソッドはdeprecateとして、使用した場合はto_hashメソッドを代わりにつかってね、というメッセージが表示されるようにしています。


Merge pull request #36733 from ch3rub1m/fix-cache-timestamp-format-guide

rails guideのConfiguring Rails Applicationsの修正です。

config.active_record.cache_timestamp_formatのデフォルト値についての説明に誤りがあったのを修正しています。


Merge pull request #36642 from wagenet/fix-disk-service-host

activestorage/lib/active_storage/service/disk_service.rbの修正です。

Active Storageのdisk serviceでURIを生成する際に、default_url_optionshostのみを使用していたのを、protocolportについても使用するよう修正しています。


Merge pull request #36542 from spk/add-pidfile-option-to-puma-conf

railties/lib/rails/generators/rails/app/templates/config/puma.rb.ttの修正です。

デフォルトで生成されるPumaのコンフィグファイルにpidfileの指定を追加しています。

pumactlコマンドを使用してPumaを起動する場合に、Railsコマンドから起動した場合と同じpidfileを参照出来るようにするため、との事です。