なるようになるブログ

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

rails commit log流し読み(2021/09/16)

2021/09/16分のコミットです。

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

activerecord/CHANGELOG.md

activemodel/CHANGELOG.md

railties/CHANGELOG.md


Update guide and actioncable tests to use appropriate concurrent-ruby class

actioncable/test/client_test.rbrails guideのThreading and Code Execution in Railsの修正です。

Concurrent::Futureを使用していたのをConcurrent::Promisesを使用するよう修正しています。Concurrent::Futureがdeprecateになっている為。


Merge pull request #43204 from westonganger/remove_scope_overwrite_warning

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

定義済みのメソッドをscopeで上書きした際に出力していたwarningメッセージを出力しないよう修正しています。moduleや親クラスで定義済みのメソッドをoverrideする場合はwarningは出ない為、scopeでそのような使いかたをした場合にwarningが出るのは不要なwarningなのではないか、という意見があった為。


Introduce ActiveModel::API

Active Modelの修正です。

Action Pack、Action Viewと動作させる為に最低限のAPIだけを定義したActiveModel::APIを追加しています。元々はActiveModel::Modelがその役割だったのですが、ActiveModel::Modelはmodelの為の機能が足りていない(例えばActiveModel::Attributesの機能が使えない)状態でした。そのため、ActiveModel::Modelにmodelとしての機能を追加していけるようにする為に、元の最低限の機能部分をActiveModel::APIという別moduleで定義するようにしています。


Merge pull request #43099 from intrip/fix-guides-load-path-click

rails guideのAutoloading and Reloading Constantsの修正です。

ページ内リンクが動作していない箇所があったのを修正しています。


Merge pull request #42470 from nfedyashev/add-missing-ids-to-mailer-email-template

railties/lib/rails/templates/rails/mailers/email.html.erbの修正です。

mail templateにDOM idを追加しています。テストで要素を検索しやすくする為。


Merge PR #42538

railtiesの修正です。

config/initializers/application_controller_renderer.rb、及び、config/initializers/cookies_serializer.rbを削除しています。config/initializers/application_controller_renderer.rbは多くのRailsアプリケーションでは不要(少なからずrails newして直ぐ使う事は無いだろう)と思われる為。config/initializers/cookies_serializer.rbについては、load_defaults及びnew_framework_defaults_7_0.rbcookies_serializerの指定を移動した為。


Preparing for 7.0.0.alpha1 release

ライブラリのバージョンを7.0.0.alpha1に更新しています。


Fix actiontext npm package dependency

actiontext/package.jsonの修正です。

actiontext npmの@rails/activestoragedependencyの指定を7.0.0-alpha1に修正しています。


Don't use exact version in the actiontext npm dependencies

actiontext/package.jsonの修正です。

actiontext npmの@rails/activestoragedependencyの指定を>= 7.0.0-alpha1に修正しています。リリースする度に指定を修正しないでよいようにする為。


Preparing for 7.0.0.alpha2 release

ライブラリのバージョンを7.0.0.alpha2に更新しています。


Add back Rack::Runtime to the default middleware stack.

Rack::Runtimeをデフォルトのmiddleware stackから削除した、Remove Rack::Runtime and deprecate referencing itをRevertしています。Time Attackに使われてしまう懸念がある為削除されたのですが、Rack::Runtimeはリクエストの合計時間を知ることは出来ない為、Time Attackに使われる事は無いんじゃだろうか、という事で戻されました。


Restore behavior added in ff66477182c7da49af2735e93886bebeac1eb162

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

先のRack::Runtimeで誤って修正してしまったmiddlewareの検知処理を戻しています。


Fix railties/CHANGELOG.md for cookie_serializer

railties/CHANGELOG.mdの修正です。

config/initializers/cookies_serializer.rbを削除した対応のエントリーについて、設定される値が誤っていたのを修正しています。


Merge pull request #41856 from MSNexploder/virtual-columns

Active Recordの修正です。

PostgreSQL adapterにgenerated columnsのサポートを追加しています。MySQL adapterと同様に、t.virtual name, type: …, as: "expression"で宣言する事が出来、生成された値を永続化するにはstored: trueオプションを指定すればOKです。

create_table :users do |t|
  t.string :name
  t.virtual :name_upcased, type: :string, as: 'upper(name)', stored: true
end