なるようになるブログ

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

rails commit log流し読み(2024/08/28)

2024/08/28分のコミットです。

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

activerecord/CHANGELOG.md

railties/CHANGELOG.md


class_attribute: reduce reliance on define_method

Active Supportの修正です。

class_attributeメソッドでassignmentの度にメソッドを再定義していたのを、既に再定義済みの場合はlocal variableの更新だけを行うよう修正しています。メソッドの再定義がmethod_addedの実行などにより遅くなってしまうことがあるため、との事です。class_attribute: reduce reliance on define_methodのリトライ。


Fix PostgreSQL Cidr#change?: comparing '0.0.0.0'/'::' to nil

activerecord/lib/active_record/connection_adapters/postgresql/oid/cidr.rbの修正です。

PostgreSQLcidr型を使用している場合に、可能されている値が0.0.0.0 / ::の場合に、nilと値の比較処理をした際にNoMethodErrorでエラーになってしまうバグがあったのを修正しています。


Ensure ActiveRecord::Encryption.config is always ready before access.

activerecord/lib/active_record/encryption.rbactiverecord/lib/active_record/railtie.rbの修正です。

ActiveRecord::Encryption.configの設定処理が、ActiveRecord::Baseのload時に行われていたのを、ActiveRecord::Encryption load時に行うよう修正しています。ActiveRecord::Baseのload前にconfigを参照した場合、値が正しく設定された状態になっているようにするため。


Merge pull request #52662 from deraru/doc/update-18n-guide

rails guideのRails Internationalization (I18n) APIの修正です。

Setting the Locale from the Domain Nameセクション内のsubdomainからlocaleを取得するexampleについて説明している箇所に、開発時にhostsファイルを編集して独自のドメインを追加する場合は、config.hostsにもそのドメインを追加する必要がある旨説明を追加しています。


Fix return values for authenticate in docs and add present? to check nil values

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

authenticateメソッドのdoc内の戻り値の説明が誤っていたのを修正しています。


Clarify documentation of authenticate_or_request_with_http_token

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

authenticate_or_request_with_http_tokenメソッドのdoc内の、login_procedureパラメータの戻り値についての説明に誤りがあったのを修正しています。


Fix #52704 rails g devcontainer --dev error

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

devcontainer generatorに--devオプションを指定して実行した場合にエラーになってしまうバグがあったのを修正しています。


Add mariadb options to application generator

railtiesの修正です。

rails newのdatabase オプションにmariadb-mysqlmariadb-trilogyを指定出来るよう修正しています。これらを指定した場合、Dev Containerで使用するDBがMySQLではなくMariaDBになるようになっています。影響があるのがDev Containerだけなので、Dev Containerを使わない場合はmariadb-xxを指定する必要は無いようになっています。


Fix binary decryption on Postgres

activerecord/lib/active_record/encryption/encrypted_attribute_type.rbの修正です。

PostgreSQLのbinary型のattributeをActiveRecord::Encryptionに指定した場合に、値のdecryptが正しく行われていなかった(先に行う必要があるバイト値のエスケープ処理が実行されていなかった)のを修正しています。


Punctuation fixes in contributing_to_ruby_on_rails.md

rails guideのContributing to Ruby on Railsの修正です。

guide全体のグラマーの修正を行っています。