なるようになるブログ

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

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

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

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


Extract {update,delete}_all_test.rb from persistence_test.rb and relations_test.rb

Active Recordのテストの修正です。

persistence_test.rbrelations_test.rbからupdate_alldelete_allに関するテストをそれぞれupdate_all_test.rb及びdelete_all_test.rbに切り出しています。


Use table name qualified column name for update counters

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

update countersで更新対象のカラムをテーブル名で修飾するよう修正しています。

MySQLだとjoin + update、という事が行え、テーブル名で修飾しておかないとその場合にambiguous errorになってしまう場合がある為。


Bump chromedriver-helper to 2.0

Gemfile.lockの修正です。

chromedriver-helper gemのバージョンを2.0.0に更新しています。


Load chromedriver-helper.rb

ci/qunit-selenium-runner.rbの修正です。

chromedriver-helperを使用するのにchromedriver-helperをrequireするよう修正しています。

chromedriver-helper 2.0.0からbin shimの名称が変更(chromedriver -> chromedriver-helper)になり、その影響で、lib/chromedriver-helper.rb内でSelenium::WebDriver::Chrome.driver_pathの設定処理を行うようになった為。chromedriver-helperをrequireしないと、driver_pathの設定が行われず、chromedriverがchromedriver-helper経由で起動しなくなります。

参考:Rename chromedriver so it does not conflict with system installed


ActiveRecord::Associations::Preloader should preload all instances of the same record

activerecord/lib/active_record/associations/preloader.rbの修正です。

Preloader#preloadメソッドでrecords.uniq!をしていたのをやめて、同じレコードでも全てのインスタンスをpreloadするよう修正しています。joins + preloadを組み合わせて使うようなケースでも正しくassociationがpreloadされるようにする為。