2023/09/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activestorage/CHANGELOG.md
activejob/CHANGELOG.md
- Introduce
ActionView::TestCase.register_parser
- Added validation for HTML tag names in the
tag
andcontent_tag
helper method.
fix ActionText::Attachable#as_json to allow options
actiontext/lib/action_text/attachable.rb
の修正です。
modelでActionText::Attachable
をincludeしている場合、as_json
メソッドにonlyオプションを指定していても必ず出力内容にattachable_sgid
が含まれていたのを、オプションで指定されたとおりに出力するよう修正しています。
Remove connection created in the test
activerecord/test/cases/connection_adapters/connection_handlers_sharding_db_test.rb
の修正です。
テストで作成したconnectionをテストの後処理で削除するよう修正しています。
Fix duplicate escaping of quotes for check constraint expressions in MySQL schema
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
の修正です。
MySQLでcheck constraint expressionをschemaファイルに出力する際に、quoteに対するescape処理が正しく行われてなかったのを修正しています。
Merge pull request #49370 from ghiculescu/upgrade-guide-rails-test
rails guideのUpgrading Ruby on Rails
の修正です。
bin/rails test
がtest:prepare
taskを実行するようになった対応についての説明を追加しています。
activerecord/test/cases/adapter_test.rb
の修正です。
transaction関連のテストから、不要なstub処理を削除しています。
[skip ci] ActiveRecord notable changes added to 7.1 release note
rails guideのRuby on Rails 7.1 Release Notes
の修正です。
Active RecordのNotable changesを更新しています。
Add a CHANGELOG entry for #49383
activerecord/CHANGELOG.md
の修正です。
unique constraint関係のAPI名を変更した、Rename back unique keys to unique constraintsの対応についてCHANGELOGにエントリーを追加しています。
Fix rewhere
's link for API doc in the guide
rails guideのActive Record Query Interface
の修正です。
rewhere
メソッドのAPI docのリンクが正しく設定されなくなってしまっていたのを修正しています。
Use monospace font for code snippets and options [ci-skip]
activerecord/lib/active_record/associations.rb
のdocの修正です。
code snippetとoptionがmonospace fontで表示されるようフォーマットの修正を行っています。
Add expires_at
option to ActiveStorage::Blob#signed_id
activestorage/app/models/active_storage/blob.rb
、
activestorage/config/routes.rb
の修正です。
ActiveStorage::Blob#signed_id
メソッド及びURL helperメソッドに期限切れになる日時を指定するためのexpires_at
オプションを指定出来るよう修正しています。
rails_blob_path(user.avatar, disposition: "attachment", expires_at: 30.minutes.from_now) <%= image_tag rails_blob_path(user.avatar.variant(resize: "100x100"), expires_at: 30.minutes.from_now) %>
Support ActionController::Parameters#deep_merge
actionpack/lib/action_controller/metal/strong_parameters.rb
の修正です。
ActionController::Parameters
に、再帰的にmerge処理をするための#deep_merge
及び#deep_merge!
メソッドを追加しています。
Revert typography change in user facing errors
エラーメッセージ内のAPOSTROPHE (U+0027)をRIGHT SINGLE QUOTATION MARK(U+2019)を使用するよう修正した、Improve typography of user facing validation messagesをRevertしています。大量の既存のアプリケーションやライブラリの更新が必要になってしまい、大変困る、というようなネガティブなフィードバックが大変きたためRevertとなりました。
activerecord/test/cases/autosave_association_test.rb
の修正です。
先のRevert処理の影響で失敗するようになってしまったテストを修正しています。
Active Jobの修正です。
enqueued_at
をserialize/deserialize処理でTimeオブジェクトとして扱うよう修正しています。good_job
などのbackendのgemで、enqueued_at
の値をそのままscheduled jobやretryなどに使用出来るようにするため、との事です。元々サポートしていたnumeric/epochの値のサポートはdeprecatedになっています。
fix typo in new_framework_defaults_7_1.rb.tt
railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_1.rb.tt
のdocの修正です。
Rails.application.config.add_autoload_paths_to_load_path
についてのコメント内のタイポを修正しています。
Introduce ActionView::TestCase.register_parser
actionview/lib/action_view/test_case.rb
の修正です。
ActionView::TestCase
でviewをrenderする際に実行するdecode処理を定義するためのActionView::TestCase.register_parser
メソッドを追加しています。デフォルトではhtml
、及び、json
用のparserが定義されています。合わせて、renderされたcontentを取得するためのrendered
メソッドも追加されています。
test "renders JSON" do article = Article.create!(title: "Hello, world") render formats: :json, partial: "articles/article", locals: { article: article } assert_pattern { rendered.json => { title: "Hello, world" } } end
register_parser :rss, -> rendered { RSS::Parser.parse(rendered) } test "renders RSS" do article = Article.create!(title: "Hello, world") render formats: :rss, partial: article assert_equal "Hello, world", rendered.rss.items.last.title end
Also rescue TZInfo::ZoneinfoDirectoryNotFound when loading time zone data
activesupport/lib/active_support/railtie.rb`の修正です、
time zone dataをload時に、TZInfo::DataSourceNotFound
がraiseされた場合にtzinfo-data
gemをインストールする必要がある旨表示していたのを、TZInfo::ZoneinfoDirectoryNotFound
の場合も同様にメッセージを表示するよう修正しています。こちらも必要なデータが無い場合に発声する可能性があるため。
Merge pull request #49083 from 1st8/actionmailer-log-subscriber-log-errors
actionmailer/lib/action_mailer/log_subscriber.rb
の修正です。
メールの送信に失敗した場合もログにDelivered mail...
と出力されていたのを、Failed delivery of mail...
と送信が失敗した事がわかるようメッセージを変更しています。
[skip ci] Docs: Fix typo in author name Paul Coelho -> Paulo Coelho
rails guideのRuby on Rails 7.1 Release Notes
、及び、activerecord/CHANGELOG.md
の修正です。
column-tuple syntaxを使用した場合の実行結果でタイポがあったのを修正しています。
Preparing for 7.1.0.rc1 release
各gemのバージョンを7.1.0.rc1に更新しています。
Don't add CHANGELOG offenses to "no changes" line
tools/rail_inspector/lib/rail_inspector/changelog.rb
の修正です。
CHANGELOGにNo changes.
と記載されている場合に記載内容に誤りがある旨指摘されるようになっていたのを、No changes.
を許容するよう修正しています。
Development of Rails 7.2 starts now
各gemのバージョンを7.2.0.alphaに更新しています。
Fix the problem of database connections leaking between tests
activerecord/test/cases/connection_adapters/connection_handlers_sharding_db_test.rb
、
activerecord/test/cases/test_case.rb
の修正です。
特定のテストでのみ使用する事を想定しているconnectionが、他のテストで使用されないよう修正しています。
Enable Lint/RedundantSafeNavigation
rubocop cop
Lint/RedundantSafeNavigation
copを追加、及び、各ファイルにcopを適応しています。
HTML tag validation added for tags
actionview/lib/action_view/helpers/tag_helper.rb
の修正です。
tag
及びcontent_tag
メソッドでHTMLタグを生成する際に、生成するタグがHTMLの仕様として正しいかチェックするよう修正しています。
content_tag("12p") # => ArgumentError: Invalid HTML5 tag name: 12p content_tag("") # => ArgumentError: Invalid HTML5 tag name: "" tag("div/") # => ArgumentError: Invalid HTML5 tag name: div/ tag("image file") # ArgumentError: Invalid HTML5 tag name: "image file"
[ci skip] do not use backticks in docs
activerecord/lib/active_record/associations.rb
のdocの修正です。
docのフォーマットを修正しています。
Add async_ids
to 7_1_release_notes [ci skip]
rails guideのRuby on Rails 7.1 Release Notes
の修正です。
Active Record API for general async queries
の一覧にasync_ids
を追加しています。