A Racc based TOML Ruby parser supporting the 0.4.0 version of the spec.
Tomlrb alternatives and similar gems
Based on the "Parsers" category.
Alternatively, view Tomlrb alternatives based on common mentions on social networks and blogs.
9.4 9.5 L1 Tomlrb VS NokogiriNokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Tomlrb or a related project?
A Racc based TOML Ruby parser supporting the 1.0.0 version of the spec.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install tomlrb
Tomlrb.parse("[toml]\na = [\"array\", 123]")
Tomlrb.load_file('my_file', symbolize_keys: true)
You can run the benchmark against the only other v0.5.0 compliant parser to my knowledge with
Here are the results on my machine:
Warming up -------------------------------------- emancu/toml-rb 1.000 i/100ms fbernier/tomlrb 17.000 i/100ms Calculating ------------------------------------- emancu/toml-rb 10.630 (±28.2%) i/s - 49.000 in 5.035997s fbernier/tomlrb 181.585 (±24.8%) i/s - 850.000 in 5.019273s Comparison: fbernier/tomlrb: 181.6 i/s emancu/toml-rb: 10.6 i/s - 17.08x (± 0.00) slower
After checking out the repo, run
bin/setup to install dependencies. Then, run
bin/console for an interactive prompt that will allow you to experiment.
Do not forget to regenerate the parser when you modify rules in the
parser.y file using
Run the tests using
To install this gem onto your local machine, run
bundle exec rake install. To release a new version, update the version number in
version.rb, and then run
bundle exec rake release to create a git tag for the version, push git commits and tags, and push the
.gem file to rubygems.org.
- Fork it ( https://github.com/[my-github-username]/tomlrb/fork )
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request
Thanks to @jpbougie for the crash course on the Chomsky hierarchy and general tips.