なるようになるブログ

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

rails commit log流し読み(2021/07/14)

2021/07/14分のコミットです。

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

activestorage/CHANGELOG.md

actionpack/CHANGELOG.md

activesupport/CHANGELOG.md


Fix spelling of whether to fix the CI

railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.ttの修正です。

whetherwetherにタイポしていたのを修正しています。


Refactor ActiveRecord::Type::TypeMap

Active Recordの修正です。

Postgres adapterでだけで必要な機能をActiveRecord::Type::TypeMapではなくActiveRecord::Type::HashLookupTypeMapで保持するようリファクタリングしています。


Merge pull request #42764 from jhawthorn/logger_thread_safe_fiber_local

activesupport/lib/active_support/logger_thread_safe_level.rbの修正です。

LoggerThreadSafeLevelでclass variableを使用しないよう修正しています。


Merge pull request #42723 from RRethy/gcs-iam-url-signing

activestorage/lib/active_storage/service/gcs_service.rbの修正です。

GCSでsigning URLを生成するのに、IAMを使用してのsinging URLの生成を出来るよう修正しています。 IAMを使用したい場合、configにiam: trueを指定すればOKです。


Resolve bug in nested FormBuilder#field_id

actionview/lib/action_view/helpers/form_helper.rbの修正です。

ネストしているform内でFormBuilder#field_idが誤った値を返すバグがあったのを修正しています。


Exclude added flash types from action_methods

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

add_flash_typesで追加したflash typeがaction_methodsのリストに含まれてしまっていたおんを、含まないよう修正しています。


Parallelize tests only when overhead is justified

Active Supportの修正です。

実行するテストの数が一定以下の場合、parallel testを実行しないよう修正しています。テストの実行数が少ない場合、DBのセットアップとfixtureのloadに掛かる時間の方がテストの実行時間より長くなってしまう為。デフォルトはテスト数が50以上の場合のみparallel testが実行されるようになっており、テスト数のしきい値config.active_support.test_parallelization_minimum_number_of_testsで指定出来るようになっています。


Remove unnecessary dup from FormTagHelper#field_id

actionview/lib/action_view/helpers/form_tag_helper.rbの修正です。

FormTagHelper#field_idメソッド内の不要なsanitized_method_namedup処理を削除しています。


Add available_records argument to Associations::Preloader

Active Recordの修正です。

Associations::Preloaderに既にload済みのrecordを使用する為のavailable_records引数を追加しています。利用出来るrecordがある場合に、DBへのqueryを減らせるようにする為。

comment = Comment.last
post = Post.find_by(id: comment.post_id)
all_authors = Author.all.to_a

Preloader.new([comment], [:post, :author], available_records: [post, all_authors]).call

Merge pull request #42779 from jhawthorn/faster_template_lookups

Action Viewの修正です。

template lookups処理でsplat operator、及び、===を使用しないようリファクタリングしています。高速化の為。


Update service.rb (#42766)

activestorage/lib/active_storage/service.rbの修正です。

ActiveStorage::Service classのdoc内、configの設定方法に誤りがあったのを修正しています。


Merge pull request #42777 from jhawthorn/requested_details_hash_match

actionview/lib/action_view/template_details.rbの修正です。

TemplateDetails::Requested内のrequested detailをHashで保持するようにして、Arrayで行っていた値の存在チェックをHashで行うよう修正しています。高速化の為。