toml 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.