RubyでTOMLを扱うために使うGemはどれがいいか調べてみた
2022/01/28
RubyでTOMLを扱うことになったので、どのGemを使えばいいか調べてみた
既に調べていた方がいたが、6年前の記事だった(https://keyamb.hatenablog.com/entry/2016/03/08/165648)
2022年現在では変わっているかもしれないので再調査
比較するGemは以下の3つ
- https://rubygems.org/gems/toml (v0.3.0)
- https://rubygems.org/gems/toml-rb (v2.1.2)
- https://rubygems.org/gems/tomlrb (v2.0.1)
結論
用途がパースだけならTOML v1.0.0に一番対応している tomlrb を使うのが良さそう(ダンプ機能がまだ実装されていない)
ダンプもするなら toml-rb を使うのが良さそう(複雑ではないパースなら問題なさそう)
比較項目
ダウンロード数
もちろんダウンロード数が正義ではない
- toml: 16,157,541
- toml-rb: 19,168,816
- tomlrb: 24,803,130
スター数
もちろんスター数が正義ではない
- toml: 139
- toml-rb: 88
- tomlrb: 51
アクティビティ
もちろん(以下略
最終リリース日
- toml: 2021/06/01
- toml-rb: 2022/01/27
- tomlrb: 2020/12/20
最終コミット日
- toml: 2021/12/02
- toml-rb: 2022/01/27
- tomlrb: 2022/01/02
テスト
これは大事かも
TOML v1.0.0 に準拠されているかのテストケースを306個作って確認してくれた方がいた https://github.com/gyfis/toml-comparison
これは通ったテストケースの数
- toml: 217
- toml-rb: 226
- tomlrb: 283