As of 2019, the best answers are:
- Krists Ozols' ID3Tag
- Moumar's ruby-mp3info
- taglib-ruby
All other libraries are long-since unmaintained.
Krists Ozols' ID3Tag distinguishing characteristics
- read only
- Can read v1.x, v2.2.x, v2.3.x, v2.4.x tags
- Supports UTF-8, UTF-16, UTF-16BE and ISO8859-1 encoding
- last updated July 2018
- Pure Ruby
Moumar's ruby-mp3info distinguishing characteristics
- read and write
- Only 2.3 version is supported for writings id3v2 tags
- id3v2 tags are always written in UTF-16 encoding
- last updated April 2017
- Pure Ruby
taglib-ruby distinguishing characteristics
- read and write
- Many formats, not just Mp3
- Reading/writing ID3v1 and ID3v2 including ID3v2.4 and Unicode
- last updated May 2018
- Binding of a well-maintained C++ library