なるようになるブログ

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

rails commit log流し読み(2019/04/26)

2019/04/26分のコミットです。

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


[ci skip] Documentation pass of upgrading guide.

rails guideのUpgrading Ruby on Railsの修正です。

Upgrading from Rails 5.2 to Rails 6.0の項のグラマー、言い回しの修正を行っています。


[ci skip] Remove à la just like that.

rails guideのUpgrading Ruby on Railsの修正です。

Notable changesの項のグラマーの修正を行っています。


[ci skip] Get npm just the way they like it

rails guideのUpgrading Ruby on Railsの修正です。

NPM -> npmに修正しています。


Merge pull request #36098 from michaelrbock/patch-1

actionview/lib/action_view/helpers/tags/base.rbのdocの修正です。

tag_nametag_idメソッド内のdocのグラマーの修正を行っています。


Bump bootsnap to a version with disables iseq_cache for Ruby 2.5

Gemfilerailties/lib/rails/generators/rails/app/templates/Gemfile.ttの修正です。

bootsnapのバージョン指定を>= 1.4.2から>= 1.4.4に修正しています。

Ruby 2.5にはiseq cache関係のバグが色々とあり、そのバグの影響でiseq cacheとTracePointを一緒に使用すると正しく動作しない、という問題がありました。

そのため、Ruby 2.5ではiseq cacheを無効化するようbootsnap/setupで行うようにしており、その設定が行われているバージョンが必ず使用されるようにする為に修正しています。具体的にはzeitwerkがTracePointを使用しており、Ruby 2.5だとzeitwerk + bootsnapが正しく動作しないという問題があった為。

参考:Disable iseq cache in Ruby 2.5


Halve string allocations in S3 streaming and partial downloads

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

S3 streamingとpartial downloadsでbodyを取得するのにreadメソッドを使用していたのを、stringメソッド使用するよう修正しています。

Aws::S3::Object#getStringIOオブジェクトを返す、かつ、StringIO#readは値をコピーした新しいオブジェクトを返します。そのため、不要なオブジェクトの生成を避けるよう、値をそのまま取得出来るstringメソッドを使用するようにしています。