なるようになるブログ

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

rails commit log流し読み(2015/02/08)

2015/02/08分のコミットです。

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

activerecord/CHANGELOG.md


Push multi-parameter assignement into the types

ActiveRecordの修正です。

attributeへのmulti parameter の設定処理を、typeクラスの中に移動しています。


rm ActiveRecord::Type::Decorator

ActiveRecordの修正です。

ActiveRecord::Type::Decorator moduleを削除しています。

YAMLシリアライズ処理に必要なメソッドを定義していたのですが、psychの方で必要なメソッドを定義するようにしたので、rails側での対応は不要になったとの事です。


Move non-type objects into the Type::Helpers namespace

ActiveRecordの修正です。

type objects以外のmoduleをType::Helpersネームスペース配下に移動しています。

typeディレクトリ(activerecord/lib/active_record/type)はtype キャストに関する処理を定義したクラスのみとする事で、 typeキャストを使いたい人が、typeディレクトリのコードを見たと時に、余計な処理を見ないで済むように、ネームスペースを別けたとの事です。


rm Type#text?

ActiveRecordの修正です。

文字列の比較を行う際に、大文字小文字を区別するかしないかを判定する為にType#text?メソッドを使用していたのですが、 type objectから判断するのではなく、判定の為の情報をschema情報から取得するよう修正し、Type#text?メソッドは削除しています。

因みに、PostgreSQLでだけ必要という事で、メソッドがPostgre のAdapterのみに追加されています。MySQLの対応要らないのかなあ。


rm Type#number?

ActiveRecordの修正です。

Type#number?メソッドを削除しています。使用したのがquery_attributeメソッド一箇所だけで、かつ、Type#number?メソッドが無くても、zero?メソッドが定義されてるかどうかで確認できるので、削除したとの事です。


Respect the database default charset for schema_migrations table.

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

schema_migrationsテーブルを作成する際、現在のconnectionのencodingではなく、DBのデフォルトのcharsetcollationの値を参照するよう修正しています。


Add auto_increment? instead of extra == 'auto_increment'

activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rbactiverecord/test/cases/migration/columns_test.rbの修正です。

カラムがauto_incrementを使用しているかどうかを判定する為のauto_increment?メソッドを追加し、auto_incrementの判定にそちらを使用するよう修正しています。


Remove unused line

activerecord/test/cases/adapters/postgresql/array_test.rbの修正です。

test_columnから不要な行を削除しています。


Missing @ [ci skip]

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

type_cast_for_databaseメソッドのexampleに@が不足していた箇所があったので、追加しています。


Fix rounding problem for PostgreSQL timestamp column

ActiveRecordの修正です。

timestamp columnでprecisionを使用していた場合に、カラムで扱える以上の精度を値に指定した場合に自動で四捨五入されてしまうのを、四捨五入が行われないようACtiveRecord側で値のフォーマットを行うよう修正しています。

以前MySQLConnectionAdapterに[行った対応](https://github.com/rails/rails/pull/18067]を、PostgreSQLConnectionAdapterにも行っています。


Remove debug code

activerecord/test/cases/schema_dumper_test.rbの修正です。

test_types_line_upデバッグ用のコードが残ってしまっていたので、削除しています。


Move #18833 changelog to the top [ci skip]

activejob/CHANGELOG.mdの修正です。

CHANGELOGの順番を、コミットされた順に並び替えています。