Project

toml_empty

0.0
Low commit activity in last 3 years
No release in over a year
Parse your TOML (allow empty group), seriously.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

>= 0

Runtime

>= 1.8.0, < 3.0.0
 Project Readme

Fork

This repo is a fork of toml.

The main modification is that it allows empty group to be generated (in toml gem, they are read, but not saved)

If you have a group with no value like this:

[group.with.no.value]

[otherkey]
key = value

It will be managed correctly (load and save)

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_empty", "~> 0.3.0"

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).