なるようになるブログ

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

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

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

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


Update schema.rb documentation [CI SKIP]

rails guideのActive Record Migrationsの修正、及び、activerecord/lib/active_record/schema_dumper.rbのdocの修正です。

railsがサポートしてる二つのスキーマフォーマットについての詳細な説明、及びそれらのpros / consにいての説明を加筆修正しています。


Fix typo in migrations guide [ci skip]

rails guideのActive Record Migrationsの修正です。

先のdocの修正で、db/structure.sqldb/strcuture.sqlにタイポしていたのを修正しています。


Fix test method name

railties/test/generators/app_generator_test.rbの修正です。

デフォルトで生成されるGemfileに、Active Storageに関するgemが生成される事、及び、skipオプションを指定した場合は生成されないことを確認するテストのテスト名にmini_magickが含まれていたのを修正しています。

Use ImageProcessing gem for ActiveStorage variantsmini_magickは直接使用する事は無くなった為。


Merge pull request #32097 from matthewd/arel

rails/arelで管理していたArelのコードを、Active Record配下に移動しています。rails/arelにはgemspec、README等だけ残っている状態。

Arelを使っているのは基本的にRails(Active Record)だけなのに、gemが別な事によりリリース(Railsをリリースする前にArelをリリースする必要がある等)やコードの調整の手間が増えている、という問題がありました。

で、ならいっそコードベース一緒にしちゃって良いのでは、という話しになり、Active Record配下にまるまる格納される事になりました。Railsを使うユーザ側への影響は特に無し。


Address NameError: uninitialized constant Arel::Collectors::Bind

activerecord/test/cases/arel/collectors/bind_test.rbの修正です。

arel/collectors/bindのrequireが不足していたのを修正しています。


Merge pull request #32715 from vaidehijoshi/refactor-scanner-test

actionpack/test/journey/route/definition/scanner_test.rbの修正です。

TestScannerクラスで、tokenについてのテストを一つのテストメソッドで行っていたのを、token毎にテストメソッドを分けるよう修正しています。エラーの際にどのtokenでエラーになったのかをわかりやすくするため。


Merge pull request #32713 from utilum/max_ffi_version

Gemfileの修正です。

ffi gemのバージョンを1.9.21以下に固定しています。

Use ImageProcessing gem for ActiveStorage variantsffi 1.9.23を使用するようになっていたのですが、1.9.23だと時折セグフォが発生するという問題があった為、バージョン固定を追加しています。


Add a helper method to check that gem does not exist in Gemfile

railties/test/generators/app_generator_test.rbの修正です。

Gemfileに指定されたgemが無いことを確認するヘルパーメソッドを追加、及び、そのヘルパーメソッドを使用するよう修正しています。


Merge pull request #32702 from bogdanvlviv/fix-description-for-31685

rails guideのAction Controller Overviewの修正です。

The Flashの項にある、ログアウト処理のexampleコードで、sessionからuser idを削除してなかった(nilを入れいただけ)のを、明示的にuser idを削除するようコードを修正しています。

合わせて、Accessing the Sessionの項で、ログアウト処理でsessionnilを指定する旨説明をしていたのを、sessionを削除する旨説明を修正しています。


get_value needs to be a public method

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

QueryMethods#get_valueメソッドの可視性をprotectedからpublicに変更しています。

QueryMethods#get_valueメソッドは、Relation::Merger should not fill values with empty valuesで可視性をprotectedに変更したのですが、protectedに変えた事によりvaluesが正しく取得できなくなり、Relation::Mergerの動作に影響が出てしまい、 結果、同じ条件のassociationに対するorメソッドが動作しない、というバグが出てしまっていました。

で、その対応として、可視性をpublicに戻しています。


Unminify activestorage.js

Active StorageのJSの修正です。

activestorage.jsをminifyしていたのを、minifyしないよう修正しています。gitのlogで変更内容を把握しやすいようにする為。

合わせて、モジュールのバンドルにWebpackを使用していたのを、rollupを使用するよう修正しています。こちらはrollupの方が高速かつ生成されるファイルが小さい為。