Project

toml

0.56
Low commit activity in last 3 years
There's a lot of open issues
No release in over a year
Parse your TOML, seriously.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

>= 1.8.0, < 3.0.0
 Project Readme

TOML

A Ruby parser for TOML, built on parslet.

This is far superior to YAML and JSON because it doesn't suck. Really it doesn't.

Gem Version

Usage

Install this library:

gem "toml", "~> 0.3.0"
gem install "toml"

It's simple, really.

content = <<-TOML

# Hello, this is an example.
[things]
other = "things"
what = 900000

TOML

parser = TOML::Parser.new(content).parsed
# => { "things" => { "other" => "things", "what" => 900000 } }

You can also use the same API as YAML if you'd like:

TOML.load("thing = 9")
# => {"thing" => 9}

TOML.load_file("my_file.toml")
# => {"whatever" => "keys"}

In case a syntax error occurs, the parser will raise a Parslet::ParseFailed exception.

There's also a beta feature for generating a TOML file from a Ruby hash. Please note this will likely not give beautiful output right now.

hash = {
  "integer" => 1,
  "float" => 3.14159,
  "true" => true,
  "false" => false,
  "string" => "hi",
  "array" => [[1], [2], [3]],
  "key" => {
    "group" => {
      "value" => "lol"
    }
  }
}
doc = TOML::Generator.new(hash).body
# doc will be a string containing a proper TOML document.

Contributors

Written by Jeremy McAnally (@jm) and Dirk Gadsden (@dirk) based on TOML from Tom Preston-Werner (@mojombo).