なるようになるブログ

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

rails commit log流し読み(2015/12/03)

2015/12/03分のコミットです。

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


tests, pluralize singular table name.

activerecord/test/schema/schema.rbの修正です。

テスト用のテーブル名が謝っていた(複数形であるべきが単数形になっていた)のを修正しています。

今まで問題になってなかったので、該当のテーブル(というかmodel)を使うテストが無かった為のようです。


add ActiveRecord::Base.has_attribute?

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

modelにattributesが定義されているかどうかをチェックする為のhas_attribute?メソッドを追加しています。

docより。

Person.has_attribute?('name')   # => true
Person.has_attribute?(:age)     # => true
Person.has_attribute?(:nothing) # => false

don't rely on the columns hash to get defaults. follow-up to #17169.

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

STIを使用しているクラスのインスタンスを生成する際、 defaultの値をcolumns hashから取得していたのを、attributeの定義から取得するよう修正しています。

attributeメソッドでdefaultを定義しても値を取得出来るようにする為のようです。


Fix failing test using custom file watcher

railties/test/application/loading_test.rbの修正です。

custom file watcherを作成するテストがコケてしまっていたのを修正しています。

定義されているべきメソッドが定義されていなかった為コケてしまっていたようなので、custom file watcherクラスにメソッドを追加して対応しています。


Revert "don't start a new process for every test file"

テストをパラレルに実行する際、テストファイル毎にプロセスを生成していたのを、一度作ったプロセスを使いまわすよう修正した、don't start a new process for every test file · rails/rails@5a0e0e7 をrevertしています。

この対応の影響で、railtiesのテストが失敗したにも関わらず、0(テスト成功)がreturnされてしまっていた為、revertしたとの事です。


Remove old comment about AC::Parameters>subclasses

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

ActiveRecord::Inheritance.subclass_from_attributesメソッドのdocに、permitされていないparameterが渡された場合無視される旨の説明があったのですが、実際はエラー(ActiveModel::ForbiddenAttributesError)になる為、該当部分の説明を削除しています。