なるようになるブログ

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

rails commit log流し読み(2023/11/29)

2023/11/29分のコミットです。

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

activerecord/CHANGELOG.md


Add some behaviour to ActiveSupport::InheritableOptions to make it quack more like a hash

activesupport/lib/active_support/ordered_options.rbrailties/lib/rails/commands/credentials/credentials_command.rbの修正です。

ActiveSupport::InheritableOptions#to_h#==等を定義して、継承元のHashを含む値を返すよう修正しています。


Fix MemoryStore#write with unless_exist and namespace

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

ActiveSupport::Cache::MemoryStore#writeunless_exist: trueオプション + namespaceを指定した場合にデータの存在チェックが正しく行われないバグがあったのを修正しています。


Merge pull request #50145 from fatkodima/include-db-errors-in-connection-errors

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

ActionDispatch::DebugExceptionsで出力するログに、exceptionのcauseも含むよう修正しています。


Add #to_s and pretty print for ActiveSupport::InheritableOptions

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

ActiveSupport::InheritableOptions#to_s#pretty_print等を定義して、継承元のHashを含む値を返すよう修正しています。


Add an ActiveRecord.protocol_adapters configuration which maps the protocol in a DATABASE_URL to a database adapter.

activerecord/lib/active_record.rbactiverecord/lib/active_record/database_configurations/connection_url_resolver.rbの修正です。

DATABASE_URL envを使用してDBに接続する際に、使用するadapterをDATABASE_URLのprotocolとは別に指定出来るよう修正しています。

# ENV['DATABASE_URL'] = "mysql://localhost/example_database"

# MySQLへの接続はTrilogy adapterを使用する
config.active_record.protocol_adapters.mysql = "trilogy"

Document delegated methods in ActiveModel::Errors

activemodel/lib/active_model/errors.rbのdocの修正です。

ActiveModel::Errorsのdocに、clearempty?及びsizeメソッドのdocを追加しています。


Update form_helpers.md

rails guideのAction View Form Helpersの修正です。

Composite primary key formsの項にあるviewのexampleコードが、実際に出力される内容と異なっていたのを修正しています。