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.
@@ -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
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :test do
7
- gem 'multi_json', '~> 1.7.8'
7
+ gem 'multi_json', '~> 1.7'
8
8
  gem 'minitest'
9
9
  gem 'simplecov', :require => false
10
10
  gem 'simplecov-gem-adapter', :require => false
@@ -14,7 +14,7 @@ require 'toml/generator'
14
14
  # require 'toml/monkey_patch
15
15
 
16
16
  module TOML
17
- VERSION = '0.1.0'
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
@@ -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
- @body += "#{key} = #{format(val)}\n"
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
- visit(hash, (path.empty? ? key : [path, key].join(".")))
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
 
@@ -0,0 +1,3 @@
1
+ #! /bin/bash
2
+
3
+ bundle install
@@ -0,0 +1,3 @@
1
+ #! /bin/bash
2
+
3
+ bundle exec rake test
@@ -0,0 +1,3 @@
1
+ #! /bin/bash
2
+
3
+ irb -r ./lib/toml.rb
@@ -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
@@ -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.0'
17
- s.date = '2013-12-05'
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.0
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: 2013-12-05 00:00:00.000000000 Z
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: 1.8.23
96
+ rubygems_version: 2.0.14
83
97
  signing_key:
84
98
  specification_version: 2
85
99
  summary: Parse your TOML.