なるようになるブログ

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

rails commit log流し読み(2022/09/10)

2022/09/10分のコミットです。

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

activerecord/CHANGELOG.md

actionpack/CHANGELOG.md

actionmailer/CHANGELOG.md

activesupport/CHANGELOG.md


Default prepared_statements to false for mysql2 adapter

activerecord/lib/active_record/connection_adapters/abstract_adapter.rbactiverecord/lib/active_record/connection_adapters/mysql2_adapter.rbの修正です。

MySQL adapterでprepared_statementsのデフォルトが誤ってtrueになってしまっていたのを、falseに戻しています。なお、Rails 7.2からはデフォルトtrueになる予定。


Improve app generator docs

railties/lib/rails/generators/rails/app/USAGEの修正です。

app generatorのdocについて、フォーマットの修正、exampleコードの追加等を行っています。


Merge pull request #45964 from jhawthorn/server_timing_safety

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

ActionDispatch::ServerTiming middlewareがマルチスレッド環境だと正しく結果が取得出来ないバグがあったのを修正しています。


Fix grammatical issue

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

config.eager_loadについて説明している箇所のグラマーの修正を行っています。


improve "in_order_of" to allow string column name

activerecord/lib/active_record/relation/query_methods.rbの修正です。

QueryMethods#in_order_ofでstring columnの値でもorder処理が出来るよう修正しています。


Extract annotations using a parser for Ruby files

railties/lib/rails/source_annotation_extractor.rbの修正です。

Rubyファイルのannotationsの取得処理に、ripperを使用するよう修正しています。実際のコードが無いコメントだけのannotationを除外出来るようにする為。


Recommend mandatory STARTTLS for Google (#43594)

actionmailer/lib/action_mailer/base.rbのdoc、及び、rails guideのAction Mailer Basicsの修正です。

config.action_mailer.smtp_settingsのexampleで、enable_starttls_autoではなくenable_starttlsを使用するよう修正しています。STARTTLSの方がセキュアな為。


Merge pull request #41517 from brunoarueira/fix/issue-38080-encoding-uploaded-file-headers

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

ActionDispatch::Http::UploadedFileのheaderのencodeがUTF-8になるよう修正しています。元はASCII-8BITだったのですが、ASCII-8BITだと値をjsonに変換するような場合(instrumentで取得した値をそのままJSONに変換したい場合など)にエラーになってしまう為。


Add more instructions to RELEASING_RAILS

RELEASING_RAILS.mdの修正です。

リリース前の各パッケージサイトのログイン確認や、リリース処理後のリリースアナウンスの記事のフォーマットの追加などを行っています。


Merge pull request #45887 from ianneub/add-exclude-to-action_controller-parameters

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

ActionController::Parametersに指定されたkeyが存在しない場合にtrueを返すexclude?メソッドを追加しています。


Merge pull request #44131 from frenkel/explicit-negative-currency-format

activesupport/lib/active_support/locale/en.ymlの修正です。

currencyのnegative値のデフォルトフォーマット(negative_format)を追加しています。値は-%u%nNumberHelpernegative_formatを使用している箇所がある為。


Merge pull request #40051 from fsateler/feature/redirect-referer

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

follow_redirect!メソッドでHTTP_REFERER headerを設定するよう修正しています。実際のブラウザの挙動と合わせる為。


Copy-edit 8e65c22

actionpack/CHANGELOG.mdの修正です。

先のfollow_redirect!の対応のエントリーをファイルの先頭に移動しています。


Merge PR #44438

activerecord/lib/active_record/connection_adapters/abstract/quoting.rbactiverecord/lib/active_record/connection_adapters/mysql/quoting.rbの修正です。

ActiveSupport::DurationSQLのbind parameterとして渡した場合に、自動でinteger値に変換する、という挙動がdeprecateになりました。今後は、明示的に呼び出す側で変換する必要があります。

# 秒のinteger値が必要な場合
Record.where("duration = ?", 1.hour.to_i)

# ISO 8601 stringが必要な場合
Record.where("duration = ?", 1.hour.iso8601)

Require used model to fix isolated tests

activerecord/test/cases/relation/field_ordered_values_test.rbの修正です。

不足していたmodelのrequireを追加しています。


Merge pull request #45829 from ghiculescu/nested-attribute-docs-improvements

activerecord/lib/active_record/nested_attributes.rbのdocの修正です。

nested attributesを使用したformの作り方の説明、及び、そのformのデータをテストでエミュレートした場合のexampleをdocに追加しています。


Merge pull request #45987 from igorkasyanchuk/main

Action Mailer、railtiesの修正です。

email preview pageでメールをEMLファイルとしてダウンロードが出来るよう修正しています。


Merge PR #45956

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

encrypted cookieのparse処理で、JSON::ParserErrorをrescueするよう修正しています。cookie serializerにJSONを指定している場合にJSON::ParserErrorが発生する可能性がある、かつ、エラーがそのままraiseされてしまうと、サーバ側でcookieが削除出来ず、ユーザがブラウザでcookieを削除しないといけなくなってしまう為。


Corrected hyperlink address in help manual -h, -c option by removing the unnecessary bracket. (#45989)

railties/lib/rails/generators/rails/app/app_generator.rbの修正です。

app generatorのcssオプションのdescriptionを修正しています。


Remove unnecessary gitignore entry

.gitignoreの修正です。

先のコミットで誤って不要なignoreの設定が追加されてしまったのを削除しています。


Use devcontainer features to install github CLI (#45990)

devcontainerの修正です。

devcontainerでgithub-cliをインストールするよう修正しています。また、github-cliにより不要になった各処理用のスクリプトを削除しています。


Remove CHANGELOG entry for change only existing in main

activerecord/CHANGELOG.mdの修正です。

Default prepared_statements to false for mysql2 adapterで追加されたエントリーを削除しています。prepared_statementsのデフォルトが誤ってtrueになっていたのはmainブランチのみで、リリースされたgemに影響が無くCHANGELOGの記載が不要な為。


Merge pull request #45974 from gmcgibbon/improve_plugin_generator_docs

railties/lib/rails/generators/rails/plugin/USAGEの修正です。

plugin generatorのUSAGAにより詳細なpluginについての説明を追加しています。


Add italic and underline support to ActiveSupport::LogSubscriber#color

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

ActiveSupport::LogSubscriber#colorメソッドで、ログ出力の際にitalic及びunderlineを指定出来るよう修正しています。合わせて、メソッドの第二引数で指定出来るようになっていたboldの指定をキーワード引数に変更しています。

info color("Hello world!", :red, bold: true, underline: true)

Merge pull request #45885 from iainbeeston/patch-1 [skip ci]

rails guideのActive Storage Overviewの修正です。

image processingに指定出来るオプションについての詳細な説明を追加しています。


Ruby 3.2 FileUtils.rm_f raises Errno::EISDIR to remove directories

railties/test/application/test_runner_test.rbの修正です。

ディレクトリを削除するのにFileUtils.rm_fを使用していたのを、FileUtils.rm_rを使用するよう修正しています。Ruby 3.2だとFileUtils.rm_fディレクトリを削除しようとするとエラーになる為。