dc-settingslogic 2.1.0 → 2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3b99784f5ea316afb0a97ad07755540a89bf0e55
4
- data.tar.gz: ccdfb941953d43fa57d70236807ab6fa5f548f92
3
+ metadata.gz: baa7a6a2cbc706b9012c7ab12630b4a749fdb2d0
4
+ data.tar.gz: b8bfb0f1cc84a0205881710f75ac506f0c625115
5
5
  SHA512:
6
- metadata.gz: c04822d02195eb8c005167b8a7cb0630060c0413ee6b686ad918da5e5bdcbf099f9b6bbb72ab39057a1966286e175da50df05bf20227dafbc5ce151ca669417f
7
- data.tar.gz: 4733c6ddca69d39aa9434e20cdbcd07bfefb94e16efddb07aeb608b484f69eb1584bef0d5a040321be400e42050995ee0d22d2d92668e1ccee3e7c04e5a75867
6
+ metadata.gz: e0188b0b7b8eb0535a190ef9b460868d2c8ad49c400ba4288ec7e7a38c7ce5e7b1058465d532b6599bdc19dc1be8f71acd0754b425337a19c1201b18d43fc1e7
7
+ data.tar.gz: b561e7adec7d37196c7abb59e336084d292baecf9b279cc813550cd44f3d1bbfa37dbad33cabfeba52e3b31ae47dc21b9746932db52226d3ab52ba8819893ed4
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dc-settingslogic (2.1.0)
4
+ dc-settingslogic (2.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/settingslogic.rb CHANGED
@@ -106,7 +106,8 @@ class Settingslogic < Hash
106
106
  next unless File.exist? file
107
107
 
108
108
  file_contents = open(file).read
109
- single_hash = file_contents.empty? ? {} : YAML.load(ERB.new(file_contents).result).to_hash
109
+ raw_result = YAML.load(ERB.new(file_contents).result)
110
+ single_hash = raw_result ? raw_result : {}
110
111
  hash.merge! single_hash
111
112
  end
112
113
  if self.class.namespace
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "dc-settingslogic"
6
- s.version = "2.1.0"
6
+ s.version = "2.1.1"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Ben Johnson", "Jeong, Jiung"]
9
9
  s.email = ["bjohnson@binarylogic.com", "ethernuiel@sanultari.com"]
@@ -0,0 +1,2 @@
1
+ ---
2
+ #empty file
@@ -0,0 +1,3 @@
1
+ class CommentedConfig < Settingslogic
2
+ source "#{File.dirname(__FILE__)}/commented.yml"
3
+ end
@@ -175,6 +175,10 @@ describe "Settingslogic" do
175
175
  expect(MultiSourceConfig.name).to eq("test")
176
176
  end
177
177
 
178
+ it "should handle empty file having comments" do
179
+ expect(CommentedConfig.keys).to be_empty
180
+ end
181
+
178
182
  describe "#to_hash" do
179
183
  it "should return a new instance of a Hash object" do
180
184
  expect(Settings.to_hash).to be_a Hash
data/spec/spec_helper.rb CHANGED
@@ -7,6 +7,7 @@ require_relative 'settings3'
7
7
  require_relative 'settings4'
8
8
  require_relative 'multi_source_config'
9
9
  require_relative 'settings_empty'
10
+ require_relative 'commented_config'
10
11
 
11
12
  # Needed to test Settings3
12
13
  Object.send :define_method, 'collides' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dc-settingslogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Johnson
@@ -56,6 +56,8 @@ files:
56
56
  - Rakefile
57
57
  - lib/settingslogic.rb
58
58
  - settingslogic.gemspec
59
+ - spec/commented.yml
60
+ - spec/commented_config.rb
59
61
  - spec/multi_source_config.rb
60
62
  - spec/override.yml
61
63
  - spec/settings.rb
@@ -92,6 +94,8 @@ specification_version: 4
92
94
  summary: A simple and straightforward settings solution that uses an ERB enabled YAML
93
95
  file and a singleton design pattern.
94
96
  test_files:
97
+ - spec/commented.yml
98
+ - spec/commented_config.rb
95
99
  - spec/multi_source_config.rb
96
100
  - spec/override.yml
97
101
  - spec/settings.rb