なるようになるブログ

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

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

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

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


Path parameters should default to UTF8

Action Packの修正です。

path parametersをデフォルトUTF-8として扱うよう修正しています。parametersと挙動を合わせる為。

これにより、path parameterにUTF-8として不正な値が含まれていた場合、400 bad requestがかえるようになります


Update working_with_javascript_in_rails.md

rails guideのWorking with JavaScript in Railsの修正です。

rails-ujsへのリンクを https://github.com/rails/rails/blob/master/actionview/app/assets/javascripts/rails-ujs.coffee から https://github.com/rails/rails-ujs/tree/master に修正しています。

しかし rails/rails-ujsはprivateリポジトリにして外から見えないようになっており、railsの中のコードを指している状態が正しい為、後ほど再度修正されています。


Merge pull request #30023 from y-yagi/remove_unnecessary_doc_directory_deletion

railties/lib/rails/generators/rails/plugin/plugin_generator.rbの修正です。

dummy applicationでdocディレクトリを削除する処理を削除しています。

doc/README_FOR_APP is no longer generateddocディレクトリはデフォルトで作成されなくなった為。


Clarify route encoding test

actionpack/test/dispatch/routing_test.rbの修正です。

route encodingのテストをparamsに不正なUTF-8 が含まれている場合のテストと、不正なUTF-8があった場合にbinaryとしてparamsを扱う場合とでテストをわけています。


Use duktape gem as default JS engine on Windows-MINGW and MS-Visual-C builds

railties/lib/rails/generators/app_base.rbの修正です。

mingw / mswinの環境では、JS engineにduktapeを使用するよう修正しています。


Update working_with_javascript_in_rails.md

rails guideのWorking with JavaScript in Railsの修正です。

rails-ujsへのリンクを https://github.com/rails/rails-ujs/tree/master から https://github.com/rails/rails/tree/master/actionview/app/assets/javascriptsに修正しています。


Merge pull request #29724 from eugeneius/sync_primary_key

Active Recordの修正です。

primary keyに対して更新・参照等を行う際に、transaction stateを同期するよう修正しています。

transactionをrollbackした際、modelの値を元の状態に戻す必要があるのですが、custome primary keyを使用している場合にその戻し処理が正しく動作していなかった、かつ、その戻し処理の中でtransaction stateの値を参照しているため、primary keyにアクセスした際に transaction stateを同期するようにしたとの事です。


Merge pull request #29777 from yui-knk/set_content_type

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

Response#charset=リファクタリングとして、不要な変数を削除するよう修正、及び、headerを設定するのにset_headerではなく、set_headerのラッパーであるset_content_typeメソッドを使用するよう修正しています。


Merge pull request #29271 from rails/unlock-minitest

Railsのテストで使用するminitestのバージョンが5.3.4未満に固定されていたのを、バージョン固定を削除、及び各テストを修正しています。

minitest 5.3.4からテストをランダムに実行するようになったのですが、Rails自体のテストはランダムに実行するとコケる(実行順に依存しているテストが多数あった)為、minitestのバージョンを固定していました。で、このバージョン固定を削除出来るよう、各テストをランダムに実行しても問題無いよう修正しています。

修正内容は色々混ざっているので、詳細はPR(Unlock minitest for Rails' test suite)を参照してください。


Merge pull request #29842 from kamipo/fix_find_by_with_range

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

find_byの引数にRangeを指定した場合にレコードを正しく取得出来ないバグがあったのを修正しています。


Merge pull request #29914 from kamipo/relation_merger_should_not_fill_empty_values

activerecord/lib/active_record/relation/merger.rbactiverecord/lib/active_record/relation/query_methods.rbの修正です。

Relation#mergevaluesに空の値を設定しないよう修正しています。

不要なvaluesの変更を行わないようにし、Relation#empty_scope?が正しく値を返せるようにする為、のようです。多分。


Merge pull request #29958 from znz/file-null

/dev/nullを直接参照していた箇所を、File::NULL定数を使用するよう修正しています。