2017/07/22分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Match destroyed_by_association for has_one to has_many
activerecord/lib/active_record/associations/has_one_association.rbの修正です。
has_one associationをdependent: destroyで削除した際に、destroyed_by_associationをtrueを設定するよう修正しています。has_many associationsと挙動を合わせる為。
Revert “Extract bind_param and bind_attribute into ActiveRecord::TestCase”
各テストそれぞれで独自に行っていた、Arel::Nodes::BindParam、ActiveRecord::Relation::QueryAttributeの生成処理をActiveRecord::TestCaseで行うよう修正した、Extract bind_param and bind_attribute into ActiveRecord::TestCaseをrevertしています。
上記処理が必要なテストは多くなく、TestCaseクラスに含む必要は無い為、というのが理由のようです。
Merge pull request #29732 from kirs/frozen-activerecord
Active Recordの修正です。
各ファイルの先頭にfrozen_string_literal: trueを追加しています。
Merge pull request #29869 from kamipo/make_type_map_to_private
Active Recordの修正です。
AbstractAdapter#type_mapメソッドの可視性をprivateにしています。
type_mapメソッドはconnection adapterでしか使用しておらず、publicである必要は無い為。
Merge pull request #29858 from y-yagi/use_argument_error_instead_of_own_error_class
activejob/lib/active_job/test_helper.rb、activejob/test/cases/test_helper_test.rbの修正です。
Active Jobのテスト用ヘルパーメソッド(assert_enqueued_jobs, assert_performed_jobs等)にonlyとexceptオプションを同時に指定した場合にraiseするエラークラスを、独自のエラークラス(InvalidOptionsError)からArgumentErrorに修正しています。
引数エラーの場合にraiseされるエラーなので、独自エラークラスよりArgumentErrorの方が的確な為。
Merge pull request #29870 from kamipo/use_true_false_literals
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb、
activerecord/lib/active_record/connection_adapters/mysql/quoting.rbの修正です。
MySQL adapterのboolean serialization処理を独自に定義していたのを、abstract adapterで定義されているserialization処理を使用するよう修正しています。
Change sqlite3 boolean serialization to use 1 and 0でabstract adapterのboolean serializationでTRUEとFALSEリテラルが使われるようになったのですが、MySQLでも左記リテラルをサポートしている為、abstract adapterのserialization処理を使用するようにしています。