なるようになるブログ

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

rails commit log流し読み(2019/05/28)

2019/05/28分のコミットです。

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


Use WeakRef to avoid leaking connection pools

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

Reaperでconnection poolの参照を保持するのにweak referenceを使用するよう修正しています。元の実装(クラス変数で保持)だと使用済みのconnectionがGCで回収されない、という問題があった為。


ruby < 2.5 is no longer supported

activesupport/test/core_ext/object/duplicable_test.rbactivesupport/test/dependencies_test.rbの修正です。

Rubyのバージョンが2.5以上かどうかで処理を分岐している箇所があったのを削除しています。masterは2.5以上のみをサポートしている為。


changes 'Week day' to 'day of week'

rails guideのConfiguring Rails Applicationsの修正です。

week day -> day of weekに修正しています。


remove unused requires from debug_exceptions

actionpack/lib/action_dispatch/middleware/debug_exceptions.rbの修正です。

使用していないrequireを削除しています。


stringify_keys and symbolize_keys have stable results.

rails guideのActive Support Core Extensionsの修正です。

stringify_keysメソッド及びsymbolize_keysメソッドについて説明している箇所で、キーが衝突した場合どの値が選択されるかわからない旨説明が記載されていたのを、最後の値が選択される旨説明を修正しています。

Rails 6ではRuby本体のstringify_keysメソッド及びsymbolize_keysメソッドが使用されるようになっており、Ruby本体のメソッドでは上記挙動になるため。


Allow symbol (i.e. quoted identifier) as safe SQL string

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

disallow_raw_sql!メソッドで引数にSymbolが指定された場合は、引数の解析処理を行わないよう修正しています。Symbolは解析するまでもなく安全な値である、かつ、解析処理は複数のオブジェクトを生成するちょっと遅い処理で処理、不要な場合は処理を行うのを避けたい為。


Don't round off subseconds unless necessary

activemodel/lib/active_model/type/helpers/time_value.rbの修正です。

datetime型に精度が指定されていた場合、、必要かどうかにかかわらず必ず1秒未満を四捨五入していたのを、不要な場合は四捨五入を行わないよう修正しています。処理高速化の為。


:datetime and :time columns allows :precision option [ci skip]

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

add_columnメソッドのdoc内、:precisionオプションが指定出来るカラムの一覧に:datetime:timeを追加しています。