引用元
今週のトピック
word_wrapが空文字列を返すように修正
word_wrap(指定された長さ以降の空白に改行を入れて出力するメソッド)が空の文字列を与えられたときに、nilの代わりに空の文字列を返すように修正された。
プレビュー処理時にバリアントを処理する
ActiveStorage::Preview#processedはプレビュー画像のみを処理し、バリアントまでは処理しなかった。 例えば、thumb = attached_pdf.preview(:thumb).processed
はthumb.url
が呼ばれるまでフルサイズのプレビュー画像のみを生成し、:thumb
のバリアントは生成しなかった。
プレビュー可能ファイルを受け付けないTransformJobの修正
ActiveStorage::TransformJobは、添付ファイルがpreprocessedオプションで定義済みのバリアントを持つときに使用される。画像ではなくpdfドキュメントのようなプレビュー可能なファイルをアップロードすると、ActiveStorage::InvariableError
で落ちてしまう。今回の修正では、blobがプレビュー可能かどうかを判断することでこれを修正した。
Action Mailer バグ報告テンプレートの追加
ActionMailer::TestCase
インスタンスで失敗した問題を再現するために、Action Mailer のバグ報告テンプレートが導入された。
(こういうdocの整備、いいですね)
Cache::Store#writeの戻り値に一貫性を持たせる
Cache::Store#write
の戻り値は以前は指定されておらず、バックエンドによって異なっていた。このプルリクエストにより一貫性が保たれるようになった。
- true: 書き込み成功
- nil: キャッシュバックエンドとの通信エラー
- false: 別の理由での書き込みの失敗
キーがすでに存在する場合と、memcached(またはRedis)のエラーがあった場合を区別するのに役立つ。