なるようになるブログ

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

rails commit log流し読み(2016/01/12)

2016/01/12分のコミットです。

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


Allow manually setting environment value

activerecord/lib/active_record/migration.rbactiverecord/lib/active_record/railties/databases.rakeの修正です。

Merge pull request #22967 from schneems/schneems/generic-metadataで、DB破壊系のtask(db:dropdb:purge)等を指定された環境(デフォルトはproduction)で動作しないよう対応されたのですが、その環境の値をrake taskから指定出来るよう修正しています。

元々はDB(active_record_internal_metadatasテーブル)から取得するようになっていたのですが、active_record_internal_metadatasテーブルはdb:migrateしないと生成されない為、db:migrateせずに処理を実行したい、というような場合の為に対応したようです。多分。


Active scopes apply to child classes, though not parents/siblings

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

STIを使用している際に、同じ親クラスを持つクラスの子クラスに、親クラスのscopeが汚染してしまう問題があったのを修正しています。


Skip the STI condition when evaluating a default scope

activerecord/lib/active_record/core.rbactiverecord/lib/active_record/scoping/default.rbの修正です。

STIを使用している、かつ、baseクラスではない親クラスにdefault_scopeの設定があった場合に、そのscopeが子クラスに反映されてしまう問題があたのを修正しています。


Unneeded &block parameters

actionpack/lib/action_controller/metal/strong_parameters.rbの修正です。

ActionController::Parameters#fetchメソッドActionController::Parameters#deleteメソッドから不要な&block引数を削除しています。


Add a note on ActionController guide about 404

rails guideのAction Controller Overviewの修正です。

The Default 500 and 404 Templatesの項、development envではハンドリングされていないExceptionはそのままraiseされる旨説明を追加、及び、production envではActiveRecord::RecordNotFoundが起きた場合404が表示される旨説明を追加しています。


Commit before freezing the headers https://github.com/rails/rails/commit/272c5838dfed0473acc11a9f97d797180015b242

actionpack/lib/action_dispatch/http/cache.rbactionpack/lib/action_dispatch/http/response.rbの修正です。

Response::Header#before_sendingメソッドで、コミット処理が行われていない場合にコミット処理をするよう修正しています。

通常#before_sendingが呼ばれる時点でコミット処理は行われている筈なのですが、アクションの途中でbodyを読む、といようなな処理が行われた場合に問題になる為、対応を追加したようです。


add migration versioning example to the changelog. [ci skip]

activerecord/CHANGELOG.mdの修正です。

migrationのversioning APIについての対応のentryに、exampleコードを追加しています。