2024/08/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Add support for SQLite3 full-text-search and other virtual tables.
- Add
TimeZoneConverter#==
method, so objects will be properly compared by their type, scale, limit & precision.
actiontext/CHANGELOG.md
Merge pull request #52706 from p8/railties/stats-register_directory
railtiesの修正です。
Rails::CodeStatistics.add_directory
をRails::CodeStatistics.register_directory
にリネームしています。既存のAPIがRails::SourceAnnotationExtractor::Annotation.register_directories
のように、register_xx
を使用していることが多く、命名規約を合わせるため。
Merge pull request #52703 from jonathanhefner/fix-52607
activerecord/lib/active_record/enum.rb
、
activerecord/lib/active_record/model_schema.rb
の修正です。
eager_loadがtrueの場合にDBに存在するcolumnに対するenumの存在チェックが正しく行われるよう対応し、Support non-column-backed attributes for enumの対応を再度コミットしています。
Merge pull request #52700 from ngan/fix-db-prepare-schema-dump
activerecord/lib/active_record/tasks/database_tasks.rb
の修正です。
db:prepare
実行時に、pending migrationを実行する度にschemaのdump処理が行われていたのを、最後に一回だけdump処理を行うよう修正しています。dumpは割と重い処理であり、pending migrationが複数ある場合全体の実行が大変遅くなる可能性があるため。
Merge pull request #52354 from zachasme/sqlite-virtual-tables
Active Recordの修正です。
SQLite3 のfull-text-searchのサポート及びvirtual tablesのschemaファイルへのサポートを追加しています。SQLiteでは、デフォルトでFTS5というモジュールを使用してのfull-text-searchがサポートされているのですが、これはvirtual tablesでしか使えないモジュールになっているため、full-text-searchとvirtual tablesの対応が合わせて行われています。
class CreateSearchablesTable < ActiveRecord::Migration[8.0] def up execute 'CREATE VIRTUAL TABLE searchables USING fts5(content)' end end
Merge pull request #52713 from bopm/patch-1
railties/lib/rails/generators/rails/app/templates/docker-entrypoint.tt
の修正です。
jemallocを有効化する処理で、libjemalloc.so.2
が何らかの理由で異なるパスに複数存在した場合にも有効化が行われるよう修正しています。
Dispatch direct-upload events on attachment uploads
Action Textの修正です。
Action Textの rich textareaにファイルをアップロードした際に、Active Storageと同様にdirect-upload:start
、direct-upload:progress
、direct-upload:error
、及び、direct-upload:end
eventを実行するよう修正しています。ファイルのアップロードに失敗したような場合に任意の処理を実行出来るようにするため。
Merge pull request #52709 from ghiculescu/at-store-if-blank-validation
actiontext/lib/action_text/attribute.rb
の修正です。
Add store_if_blank option to has_rich_textで追加されたstore_if_blank
オプションが指定されている場合に、対象のattributeがpresence
validationでチェック出来るよう修正しています。
[#52698] Add TimeZoneConverter#==
method, so objects will be properly...
activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb
の修正です。
ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter
に#==
メソッドを追加し、同一のオブジェクトかどうかを正しくチェック出来るよう修正しています。duplicateした値との比較が正しく行えるようにする為。
Merge pull request #52717 from Shopify/class-attribute-redefine-once
Active Supportの修正です。
class_attribute
メソッドでassignmentの度にメソッドを再定義していたのを、既に再定義済みの場合はlocal variableの更新だけを行うよう修正しています。メソッドの再定義がmethod_added
の実行などにより遅くなってしまうことがあるため、との事です。
が、既存のgemの挙動に影響が出てしまったらしく、後ほどRevertされています。
Fix: #52708 Removed credentials from action mailer config documentation.
rails guideのAction Mailer Basics
の修正です。
Action Mailer Configuration for Gmail
セクションにあるconfigの設定例で、user_name
/ password
について直接設定ファイルに値を記載するようになっていたのを、Rails.application.credentials
を使用するよう修正しています。
Add devcontainer to hidden_namespaces
railties/lib/rails/generators.rb
の修正です。
devcontainerをhidden_namespacesに追加し、generatorの一覧に表示されないよう修正しています。devcontainerのgeneratorはdevcontainer command経由で実行される事を想定しており、直接generatorを実行する事は無い為。
Revert "class_attribute: reduce reliance on define_method"
class_attribute
の改善を行った、class_attribute: reduce reliance on define_methodをRevertしています。、既存のgemの挙動に影響が出てしまったためとの事です。