なるようになるブログ

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

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

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

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


Add mandatory 'stored' option to generated column example

Full Text Searchの項にあるgenerated columnのexampleコードでstored: trueオプションの指定が不足していたのを修正しています。


Generate less initializers in new/upgraded Rails apps (part 2) (#43237)

railtiesの修正です。

Generate less initializers in new/upgraded Rails appsの続きとして、config/initializers/backtrace_silencers.rbconfig/initializers/mime_types.rbconfig/initializers/wrap_parameters.rbを削除しています。ActionController::Base.wrap_parametersのデフォルトの設定はload_defaults及びnew_framework_defaults_7_0.rbに移動しています。


Suggest Kredis + bcrypt as long as we're not minimal

railties/lib/rails/generators/rails/app/templates/Gemfile.ttの修正です。

rails newminimalオプションが指定されていない場合、Gemfileにbcryptrails/kredisを追加するよう修正しています。

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

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

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

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

activerecord/CHANGELOG.md


Merge pull request #42993 from sambostock/use-precision-in-updated-at-upsert

Active Recordの修正です。

insert_all/upsert_allupdated_atを更新する際に、特定のDBでprecisionの値が正しく設定されてなかったのを修正しています。

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

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

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


Require a version compatible with Turbo

railties/lib/rails/generators/rails/app/templates/Gemfile.ttの修正です。

rack-mini-profilerのバージョン指定を2.3.3以上に修正しています。Hotwire Turbo Driveをサポートしたのが2.3.3な為。


Merge pull request #43211 from 9sako6/fix_nameerror_when_an_invalid_option_is_given_to_on

actionpack/lib/action_dispatch/routing/mapper.rbの修正です。

routingのonオプションに不正な値を指定した場合に、NameErrorがraiseしてしまうバグがあったのを修正しています。

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

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

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

activerecord/CHANGELOG.md


Fix link in ActiveRecord Encryption guides [ci skip]

rails guideのActive Record Encryptionの修正です。

ページ内リンクが壊れている箇所があったのを修正しています。


Merge pull request #43186 from aried3r/ar/dont_show_file_fixture_path_deprecation_if_same_path

actionpack/lib/action_dispatch/testing/test_process.rbの修正です。

file_fixture_pathfixture_pathに同じpathが指定されていた場合に、不要なfixture_file_uploadに関するdeprecateメッセージが表示されてしまっていたのを修正しています。


Merge pull request #43068 from mbayucot/42994-add-support-for-postgresql-certs-on-db-tasks

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

configファイルにPostgreSQLSSL関連の値(sslmodesslcertなど)が定義されている場合、db系のtaskでPostgreSQLのコマンドを実行する際にそれらの値を使用するよう修正しています。


Clearer default gemfile (#43212)

railtiesの修正です。

rails newで生成されるGemfileについて、スペースやコメントの内容の調整を行っています。

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

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

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


Merge pull request #43189 from tiramizoo/good-job

rails guideのActive Job Basicsの修正です。

Backendの一覧にbensheldon/good_jobを追加しています。

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

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

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


Use an if statement instead of a case statement

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

1つかしかwhenが無いcaseをif / elseを使用するよう修正しています。caseはjump tableを作るので1つの場合if / elseの方が効率が良い為。


Add section "Why Encrypt Data at the Application Level" to the guide (#43202)

rails guideのActive Record Encryptionの修正です。

アプリケーションレベルでのEncryptが何故必要かを説明したWhy Encrypt Data at the Application Level?セクションを追加しています。