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処理を使用するようにしています。