toml 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/lib/toml.rb +2 -2
- data/lib/toml/generator.rb +8 -2
- data/script/bootstrap +3 -0
- data/script/cibuild +3 -0
- data/script/console +3 -0
- data/test/test_generator.rb +7 -2
- data/toml.gemspec +8 -2
- metadata +25 -11
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f7dffac109d3fafa90f89cbf3c39b07d893f0bce
|
4
|
+
data.tar.gz: 3d107b903f762187ed3b795dd6828c288b508fe8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e827c155662fe2a6da3a75406894293631b6e739ebe791a01729e395617aef886cbe43979fa28052730c3c40950e2ed5b855b3e873df7bfb1ea4f85ae7c6f0d5
|
7
|
+
data.tar.gz: 31f8a9d0caa27dbf2322c5c99c34245f60f5c24839e49fe3390589000ff7ac7e50d7b153207e8331680450b9a535c40cb7aa25b3cbdb8679e83e8a7011f6881a
|
data/Gemfile
CHANGED
data/lib/toml.rb
CHANGED
@@ -14,7 +14,7 @@ require 'toml/generator'
|
|
14
14
|
# require 'toml/monkey_patch
|
15
15
|
|
16
16
|
module TOML
|
17
|
-
VERSION = '0.1.
|
17
|
+
VERSION = '0.1.1'
|
18
18
|
|
19
19
|
def self.load(content)
|
20
20
|
Parser.new(content).parsed
|
@@ -23,4 +23,4 @@ module TOML
|
|
23
23
|
def self.load_file(path)
|
24
24
|
Parser.new(File.read(path)).parsed
|
25
25
|
end
|
26
|
-
end
|
26
|
+
end
|
data/lib/toml/generator.rb
CHANGED
@@ -51,14 +51,20 @@ module TOML
|
|
51
51
|
if key.include? '.'
|
52
52
|
raise SyntaxError, "Periods are not allowed in keys (failed on key: #{key.inspect})"
|
53
53
|
end
|
54
|
-
|
54
|
+
unless val.nil?
|
55
|
+
@body += "#{key} = #{format(val)}\n"
|
56
|
+
end
|
55
57
|
end
|
56
58
|
@body += "\n" unless other_pairs.empty?
|
57
59
|
|
58
60
|
# Then deal with sub-hashes
|
59
61
|
hash_pairs.each do |pair|
|
60
62
|
key, hash = pair
|
61
|
-
|
63
|
+
if hash.empty?
|
64
|
+
@body += "[#{path.empty? ? key : [path, key].join(".")}]\n"
|
65
|
+
else
|
66
|
+
visit(hash, (path.empty? ? key : [path, key].join(".")))
|
67
|
+
end
|
62
68
|
end
|
63
69
|
end#visit
|
64
70
|
|
data/script/bootstrap
ADDED
data/script/cibuild
ADDED
data/script/console
ADDED
data/test/test_generator.rb
CHANGED
@@ -17,9 +17,11 @@ class TestGenerator < MiniTest::Test
|
|
17
17
|
"key" => {
|
18
18
|
"group" => {
|
19
19
|
"value" => "lol"
|
20
|
-
}
|
20
|
+
},
|
21
|
+
"nil_table" => {}
|
21
22
|
},
|
22
|
-
"date" => DateTime.now
|
23
|
+
"date" => DateTime.now,
|
24
|
+
"nil" => nil
|
23
25
|
}
|
24
26
|
|
25
27
|
end
|
@@ -34,6 +36,9 @@ class TestGenerator < MiniTest::Test
|
|
34
36
|
original_date = doc.delete "date"
|
35
37
|
parsed_date = doc_parsed.delete "date"
|
36
38
|
|
39
|
+
# removing the nil value
|
40
|
+
remove_nil = doc.delete "nil"
|
41
|
+
|
37
42
|
assert_equal doc, doc_parsed
|
38
43
|
assert_equal original_date.to_time.to_s, parsed_date.to_time.to_s
|
39
44
|
end
|
data/toml.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'toml'
|
16
|
-
s.version = '0.1.
|
17
|
-
s.date = '
|
16
|
+
s.version = '0.1.1'
|
17
|
+
s.date = '2014-02-17'
|
18
18
|
|
19
19
|
## Make sure your summary is short. The description may be as long
|
20
20
|
## as you like.
|
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.authors = ["Jeremy McAnally", "Dirk Gadsden"]
|
28
28
|
s.email = 'jeremy@github.com'
|
29
29
|
s.homepage = 'http://github.com/jm/toml'
|
30
|
+
s.license = 'MIT'
|
30
31
|
|
31
32
|
## This gets added to the $LOAD_PATH so that 'lib/NAME.rb' can be required as
|
32
33
|
## require 'NAME.rb' or'/lib/NAME/file.rb' can be as require 'NAME/file.rb'
|
@@ -38,6 +39,8 @@ Gem::Specification.new do |s|
|
|
38
39
|
s.extra_rdoc_files = %w[README.md LICENSE]
|
39
40
|
|
40
41
|
s.add_dependency "parslet", "~> 1.5.0"
|
42
|
+
|
43
|
+
s.add_development_dependency "rake"
|
41
44
|
|
42
45
|
## Leave this section as-is. It will be automatically generated from the
|
43
46
|
## contents of your Git repository via the gemspec task. DO NOT REMOVE
|
@@ -56,6 +59,9 @@ Gem::Specification.new do |s|
|
|
56
59
|
lib/toml/parslet.rb
|
57
60
|
lib/toml/table.rb
|
58
61
|
lib/toml/transformer.rb
|
62
|
+
script/bootstrap
|
63
|
+
script/cibuild
|
64
|
+
script/console
|
59
65
|
test/empty.toml
|
60
66
|
test/hard_example.toml
|
61
67
|
test/spec.toml
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jeremy McAnally
|
@@ -10,12 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-02-17 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: parslet
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - ~>
|
21
19
|
- !ruby/object:Gem::Version
|
@@ -23,11 +21,24 @@ dependencies:
|
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
25
|
- - ~>
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: 1.5.0
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rake
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
31
42
|
description: Parse your TOML, seriously.
|
32
43
|
email: jeremy@github.com
|
33
44
|
executables: []
|
@@ -48,6 +59,9 @@ files:
|
|
48
59
|
- lib/toml/parslet.rb
|
49
60
|
- lib/toml/table.rb
|
50
61
|
- lib/toml/transformer.rb
|
62
|
+
- script/bootstrap
|
63
|
+
- script/cibuild
|
64
|
+
- script/console
|
51
65
|
- test/empty.toml
|
52
66
|
- test/hard_example.toml
|
53
67
|
- test/spec.toml
|
@@ -59,27 +73,27 @@ files:
|
|
59
73
|
- test/tmp.rb
|
60
74
|
- toml.gemspec
|
61
75
|
homepage: http://github.com/jm/toml
|
62
|
-
licenses:
|
76
|
+
licenses:
|
77
|
+
- MIT
|
78
|
+
metadata: {}
|
63
79
|
post_install_message:
|
64
80
|
rdoc_options:
|
65
81
|
- --charset=UTF-8
|
66
82
|
require_paths:
|
67
83
|
- lib
|
68
84
|
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
85
|
requirements:
|
71
|
-
- -
|
86
|
+
- - '>='
|
72
87
|
- !ruby/object:Gem::Version
|
73
88
|
version: '0'
|
74
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
90
|
requirements:
|
77
|
-
- -
|
91
|
+
- - '>='
|
78
92
|
- !ruby/object:Gem::Version
|
79
93
|
version: '0'
|
80
94
|
requirements: []
|
81
95
|
rubyforge_project:
|
82
|
-
rubygems_version:
|
96
|
+
rubygems_version: 2.0.14
|
83
97
|
signing_key:
|
84
98
|
specification_version: 2
|
85
99
|
summary: Parse your TOML.
|