なるようになるブログ

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

rails commit log流し読み(2024/02/17)

2024/02/17分のコミットです。

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

activerecord/CHANGELOG.md


Ignore devcontainer files in docker image

railties/lib/rails/generators/rails/app/templates/dockerignore.ttの修正です。

dockerignoreにdevcontainer用のファイルを追加しています。


Add MessagePackMessageSerializer for binary data (#51102)

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

encrypted dataをMessagePack formatにserializeする為のActiveRecord::Encryption::MessagePackMessageSerializerを追加しています。 通常はBase64でencodeされているのですが、Binary columnの場合はBase64でencodeする必要は無くデータ効率が良くない為、より効率的にserialize出来るようにする為にMessagePack formatをサポートしています。このserializerは自動ではロードされないようにっており、使用する場合はユーザ側で明示的に指定する必要があります。

require "activerecord/encryption/message_pack_message_serializer"

class Foo < ApplicationRecord
  encrypts :bar, message_serializer: ActiveRecord::Encryption::MessagePackMessageSerializer.new
end

Fix quote

activestorage/test/dummy/config/puma.rbの修正です。

pidfileにファイル名を指定する箇所のクォートが不足していたのを修正しています。


Do not report rendered errors except 500

actionpack/lib/action_dispatch/middleware/executor.rbactionpack/lib/action_dispatch/middleware/show_exceptions.rbの修正です。

ActionDispatch::Executor: report errors handled by ShowExceptionsShowExceptions middlewareでhandleしたexceptionを全てerror reporterでreportするよう修正したのですが、ActionController::RoutingErrorのようなアプリケーションで正しく処理されたエラーはreportしないよう修正しています。reportするかどうかはActionDispatch::ExceptionWrapper.rescue_responsesに指定されているかどうかで判断されるようになっています。


Prevent extra newlines after table generation block in shema.rb (#48731)

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

shema.rbでforeign keysが無い場合に不要な空行が生成されてしまっていたのを修正しています。


Merge pull request #51043 from jasl/ac-expose-close-args

actioncable/lib/action_cable/connection/web_socket.rbの修正です。

websocket.close、及び、websocket.transmitに任意の引数を指定出来るよう修正しています。WebSocket connectionをcloseする際にデバッグ用にcode及びreasonを送りたい事があるため、との事です。