なるようになるブログ

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

rails commit log流し読み(2018/07/09)

2018/07/09分のコミットです。

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

activerecord/CHANGELOG.md


Allow to explicitly specify whether to output Rails' log to stdout

railties/lib/rails/commands/server/server_command.rbの修正です。

rails serverでlogをstdoutに出力するかどうかをrails serverコマンドの引数で指定出来るようにしています。

rails serverコマンドに--no-log-to-stdoutを引数に指定した場合、developmentでもlogがstdoutに出力されないようになっています。


Raise an ArgumentError instead of a RuntimeError

activestorage/lib/active_storage/attached/changes/create_one.rbの修正です。

Attached::Changes::CreateOne#find_or_build_blobメソッドで不正な引数が指定された場合にRuntimeErrorをraiseしていたのをArgumentErrorをraiseするよう修正しています。


Fix rubocop offense introduced in 161ed37

railties/lib/rails/commands/server/server_command.rbの修正です。

rubocopの規約に違反している箇所があったのを修正しています。


Merge pull request #33280 from nkondratyev/fix/mysql-time-default-values

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

migrationファイルでdefaultcurrent_timestampを使用している、かつ、precisionを指定している(e.g. default: -> { "current_timestamp(6)" })場合に、schema dumpそのdefaultが正しく出力されない(current_timestampの指定が無くなってしまう)バグがあったのを修正しています。


Subsecond precision is not supported until MySQL 5.6.4

activerecord/test/cases/defaults_test.rbactiverecord/test/schema/mysql2_specific_schema.rbの修正です。

subsecond precisionが使えるかどうかのチェック処理に誤りがあったのを修正しています。


SQLite: Don't leak internal schema objects

activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rbactiverecord/lib/active_record/connection_adapters/sqlite3_adapter.rbの修正です。

SQLiteindexesメソッドで、SQLiteが内部で使用するschema objects(sqlite_ではじまるobject)が含まれてしまっていたのを、含まれないよう修正しています。