高木のブログ

RubyでTOMLを扱うために使うGemはどれがいいか調べてみた

2022/01/28

RubyでTOMLを扱うことになったので、どのGemを使えばいいか調べてみた

既に調べていた方がいたが、6年前の記事だった(https://keyamb.hatenablog.com/entry/2016/03/08/165648)

2022年現在では変わっているかもしれないので再調査

比較するGemは以下の3つ

結論

用途がパースだけなら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

ytkg

Written by ytkg, Twitter, GitHub