なるようになるブログ

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

rails commit log流し読み(2017/06/20)

2017/06/20分のコミットです。

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

railties/CHANGELOG.md


Refactor #insert_fixtures to use Arel

activerecord/lib/active_record/connection_adapters/abstract/database_statements.rbの修正です。

fixtureのinsert処理でArelのメソッドを使用するようリファクタしています。

fixtureのinsert処理でbulk insertを使用するよう修正(生のSQLではなくArelのメソッドを使用)している対応があり(Use bulk SQL INSERT when bootstraping fixtures、その対応の一環との事です。


Merge pull request #29493 from y-yagi/deprecate_capify

railties/lib/rails/generators/actions.rbの修正です。

generatorsとtemplatesで使用できるcapify!メソッドがdeprecateになりました。

capify!メソッドはcapistranocapifyコマンドを実行するだけのメソッドなのですが、capifyコマンドがcapistrano 3系で無くなった為、その変更に合わせてこちらのメソッドもdeprecateにしています。


Merge pull request #29494 from kamipo/prevent_extra_scope_construction

activerecord/lib/active_record/associations/association.rbactiverecord/lib/active_record/associations/collection_association.rbactiverecord/lib/active_record/associations/singular_association.rbの修正です。

Assocationのfind_targetメソッドでscopeを使用する際、メソッド内でscopeの生成を行っていたのを、クラスで保持しているscopeを使い回すよう修正しています。


Merge pull request #29454 from kamipo/fix_exists_queries_with_cache

activerecord/lib/active_record/connection_adapters/mysql/database_statements.rbactiverecord/lib/active_record/connection_adapters/postgresql/database_statements.rbの修正です。

Relation#exists?メソッドでquery cacheが使用されないバグがあったのを修正しています。

connection adapter でselect_*メソッドをオーバーライドしているとquery cacheが正しく動作しないようになってしまていたらしく、左記メソッドを削除し対応しています。


Merge pull request #29485 from tjschuck/nodoc_ac_conn_websocket

actioncable/lib/action_cable/connection/web_socket.rbのdocの修正です。

ActionCable::Connection::WebSocketクラスに:nodoc:を指定しています。


Merge pull request #27990 from leonelgalan/bug/filtered_parameters_class

actionpack/lib/action_dispatch/http/parameter_filter.rbactionpack/lib/action_dispatch/http/filter_parameters.rbの修正です。

ActionDispatch::Http::ParameterFilterクラスのfilterメソッドの戻り値を、引数で指定されたparamsと同じ型の値を返すよう修正しています(paramsHashWithIndifferentAccessを指定した場合、戻り値もHashWithIndifferentAccessになる)。


prepare for Minitest 6

actionpack/test/controller/parameters/mutators_test.rbactivesupport/test/core_ext/duration_test.rbの修正です。

assert_equalメソッドのexpected引数にnilを指定していたテストを、assert_nilを使用するよう修正しています。

Minitest 5.10から上記使い方がdeprecateになり、nilを期待する場合はassert_nilが使用する必要がある為。