dc-settingslogic 2.1.0 → 2.1.1

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