2019/07/31分のコミットです。
CHANGELOGへの追加はありませんでした。
Fix typo in autoload documentation [ci skip]
rails guideのAutoloading and Reloading Constants (Zeitwerk Mode)
の修正です。
assets
をaasets
にタイポしている箇所があったのを修正しています。
Speedup and reduce Array creation when constantizing a non-namespaced string
activesupport/lib/active_support/inflector/methods.rb
の修正です。
Inflector#constantize
メソッドで、引数に指定されたStringにnamespaceが含まれていない場合に不要なオブジェクトの生成を行わないよう修正しています。
No need to dup the payload for an instrumentation
actionpack/lib/action_controller/metal/instrumentation.rb
の修正です。
Instrumentation#process_action
メソッドで不要なpayloadのdup処理があったのを削除しています。
Reduce String allocation when finding controller class
actionpack/lib/action_dispatch/http/request.rb
の修正です。
Request#controller_class_for
メソッドで定数名を生成する際にString#<<
を使用してStringの生成を減らすよう修正しています。
Reduce unnecessary String creation by not to_s
ing until nothing matches
actionpack/lib/action_controller/renderer.rb
の修正です。
Renderer#rack_key_for
メソッドでfetch
を使っていた箇所を[]
を使用するようにして、不要な場合はデフォルト値のto_s
メソッドの呼び出しを行わないよう修正しています。
Reduce object allocations in Middleware::Static
actionpack/lib/action_dispatch/middleware/static.rb
の修正です
FileHandler#match?
メソッドで不要なオブジェクトの生成を行わないよう修正しています。
Cache tags_text to avoid computing tags each time when logging
activesupport/lib/active_support/tagged_logging.rb
の修正です。
TaggedLogging#tags_text
メソッドの結果をキャッシュして、ログ出力の際に毎回処理が実行されるのを避けるよう修正しています。
Reduce Hash object creation when normalizing request env
actionpack/lib/action_controller/renderer.rb
の修正です。
Renderer#initialize
でHash#merge
を使っていた箇所をHash#each_pair
を使うようにして、オブジェクトの生成を減らすよう修正しています。
Avoid creating new Array when looking up already registered detail
actionview/lib/action_view/lookup_context.rb
の修正です。
fetch
を使っていた箇所を[]
+ 取得出来なかった場合にデフォルト値を指定するようにして、不要な場合はデフォルト値のオブジェクトの生成を行わないよう修正しています。
Accessing ivar with Symbols might be just a very little bit better than with fstrings
ivarへのアクセスにStringを使用していたのをSymbolを使うよう修正しています。Symbolの方がちょっとはやいため、との事です。
Fix typo submited → submitted [ci skip]
actionview/test/ujs/public/test/data-remote.js
の修正です。
submitted
をsubmited
にタイポしていたのを修正しています。
Polymorphic has_one touch: Reset association cache result after create transaction
activerecord/lib/active_record/associations/association.rb
、
activerecord/lib/active_record/associations/builder/has_one.rb
の修正です。
has_one
+ touch
オプションを使用している場合に、commit transactionの後に場合にassociation キャッシュをクリアー(値がnilの場合のみ)するよう修正しています。
transaction内でまだ参照出来ないassociationを参照 + キャッシュしてしまい、正しいassociationを取得出来ない、というバグがあった為。
activerecord/test/cases/arel/select_manager_test.rb
の修正です。
テスト名のタイポを修正しています。
Reduce some more Hash#fetch + default object allocations
actionpack/lib/action_dispatch/middleware/ssl.rb
、
actionpack/lib/action_dispatch/routing/mapper.rb
の修正です。
fetch
を使っていた箇所を[]
を使用するようにして、不要な場合はデフォルト値のオブジェクトの生成を行わないよう修正しています。
activesupport/lib/active_support/inflector/methods.rb
の修正です。
Array#reverse
-> Array#reverse!
にしてArrayの生成を減らすよう修正しています。
Reduce Array assignment by not giving a name for unused *args
Action Packの修正です。
メソッドの引数の指定に可変長引数を使用していたが、実際は引数を使用していない箇所の引数の指定を削除しています。
actionpack/lib/action_controller/log_subscriber.rb
の修正です。
Instrumentation#process_action
メソッド内のexception取得処理から不要なメソッド呼び出しを削除しています。
actionpack/lib/action_controller/metal/instrumentation.rb
の修正です。
Instrumentation#process_action
メソッド内のstatus
設定処理から不要なblockの実行を削除しています。
actionpack/lib/action_dispatch/http/cache.rb
、
activerecord/lib/active_record/query_cache.rb
の修正です。
String#tr
-> String#tr!
を使うよう修正、Array#<<
+ Array#flatten
していたのをArray#concat
を使うようにしてオブジェクトの生成を減らすよう修正しています。
Reduce method invocations and object allocations in head()
actionpack/lib/action_controller/metal/head.rb
の修正です。
Head#head
メソッド内のoptions
引数の指定処理でメソッド呼び出しとオブジェクトの生成数を減らすよう修正しています。
rubocopの設定に違反している箇所があったのをまとめて修正しています。