みなさん、Ruby on Rails 使っていますか?
そして使っている人で、アップデート情報は追っていますか?
Rails をはじめとした Gem は日々アップデートされており、既存のプロジェクトに影響がないか確認することが重要です。
実際、私が働いている現場では、プロジェクトのライブラリをアップデートする前に必ず複数人でアップデート内容をチェックしています。
そしてこの度、日本時間の 6/30(現地時間 6/29)に Ruby on Rails 7.0.6 がリリースされました!
この記事では、リリース内容の補足をしつつ、現場のエンジニアがどういう観点で変更を確認しているのかに触れていただければと思います。
変更内容の抜粋
Ruby on Rails というライブラリでは、その中にさらに複数のライブラリが絡みあっています。
例えば、Rails を触っていると耳にする ActiveRecord もその一つです。
ここからは、それぞれの変更内容を追ってみましょう。
リリースノートで使われている用語について、一部説明を補足していますのでご安心ください!
Active Support
EncryptedConfiguration
は設定情報を暗号化するためのツールで、一部の操作で誤った値を返す問題を修正しました。Enumerable#many?
は複数の要素を持つコレクションをチェックするための方法で、これがブロック(処理の塊)と一緒に使われるときの問題を修正しました。- 文字列の末尾が'id'である場合に、人間が理解しやすい形に変換する機能が正しく動作しない問題を修正しました。
Active Record
- データベースとのやりとりを担当する部分で、関連付けられたオブジェクトの自動保存機能に関する問題や、特定のデータベース(PostgreSQL)の列との対話に関する問題を修正しました。
- "Polymorphic relations"とは、モデルが複数の他のモデルに属することができる関連性のことを指します。そのような関連性に対するクエリ(データベースへの問い合わせ)が正しく行えない問題を修正しました。
- SQLiteというデータベースを使ったときのテーブル変更の問題、または特定の値の処理に関する問題を修正しました。
Active Job
Active Job
は、一定時間後やバックグラウンドでの処理を行うための部分で、ここで特定のクラスを扱うときのエラーを修正しました。
Action Cable
Action Cable
はウェブソケットを使ってリアルタイムに通信を行うための部分で、特定の設定(Redisのセンチネルという機能)を扱うときの問題を修正しました。
Active Storage
Active Storage
はファイルアップロードを管理するための部分で、特定のソフトウェア(FFmpeg)で動画の回転値を扱うときの問題を修正しました。
Railties
Railties
はRails自体のコアコンポーネントで、ここでは設定情報を編集する際のエスケープ(特殊な文字を文字列として扱えるようにする処理)に関する問題を修正しました。
最後に
いかがだったでしょうか?
日々、Rails を使っているだけですと、こういったアップデート情報を追うことは少ないかもしれません。
しかし、新しい機能・修正を知ることは、それだけ自分のスキルがアップすることを意味します。
難しかったと感じても、少しずつでも「知ろうとする」ことが重要です。
またアップデート情報の翻訳と説明はさせていただこうと思うので、その際はぜひ一緒に見てみましょう!