config_reader 1.0.2 → 1.0.3

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: 5ca158dc16e7204d57e033aa7cde6d0b8b38934a
4
- data.tar.gz: fca1444d32ab8484f947f46d10e71cb6ddc0dc02
3
+ metadata.gz: 02627114450472254b226d2ffc7092a276ab4179
4
+ data.tar.gz: 053954bea858dcd8b10895371f791130b72dbc07
5
5
  SHA512:
6
- metadata.gz: 517ef5738ce9a2c00269282ec34724ea1a838eefc5f1bfea923945668bd2ced247beea8ecb77eb8905229b444e45e2ac2c68a9f72d8b202111c67fa2dee5e202
7
- data.tar.gz: fbe04606c602d4ab4dc1ce9874400569832cc6d09caec9c53fc8428f6a23f864c6321c680dca4464680df472bb3039c9ed1e859f23860a6100f5ba92d5971c2d
6
+ metadata.gz: 6baee2f52c7b2c2eede17cffc14c4981aa886e555195e48a77dd42ba2ce582f00f93ae789ea76cbf259e792f8576881a4b4d73317d3866392c095ebd98dbb79a
7
+ data.tar.gz: 2c5bbc7636e67d247d57883a4f8e377d9d7087d00763bf5457dc949db1b2d0bf6dfca1cbdce38d2751f0f47caa4e2aa15db604fe8e614ce2a625a8e03aa6e03e
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- config_reader (1.0.2)
4
+ config_reader (1.0.3)
5
+ deep_merge
5
6
 
6
7
  GEM
7
8
  remote: http://rubygems.org/
@@ -11,6 +12,7 @@ GEM
11
12
  coderay (1.1.0)
12
13
  coerce (0.0.6)
13
14
  chronic (>= 0.6.2)
15
+ deep_merge (1.1.1)
14
16
  fattr (2.2.2)
15
17
  highline (1.6.21)
16
18
  main (6.0.0)
@@ -43,3 +45,6 @@ DEPENDENCIES
43
45
  rake
44
46
  rspec (= 1.3.2)
45
47
  sekrets (~> 1.7.0)
48
+
49
+ BUNDLED WITH
50
+ 1.15.1
data/History.rdoc CHANGED
@@ -1,3 +1,6 @@
1
+ == 1.0.3 2017-06-20
2
+ * add the deep_merge gem so all keys don't need to be duplicated across env sections
3
+
1
4
  == 0.0.9 2012-02-03
2
5
  * Stop abusing Hash, it's not nice
3
6
  * convert all keys to symbols internally
@@ -19,6 +19,8 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ['lib']
20
20
 
21
21
  # specify any dependencies here; for example:
22
+ s.add_dependency 'deep_merge'
23
+
22
24
  s.add_development_dependency 'rake'
23
25
  s.add_development_dependency 'rspec', '1.3.2'
24
26
  s.add_development_dependency 'sekrets', '~> 1.7.0'
@@ -1,3 +1,3 @@
1
1
  class ConfigReader
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
data/lib/config_reader.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "config_reader/version"
2
2
  require "config_reader/magic_hash"
3
3
  require 'yaml'
4
+ require 'deep_merge'
4
5
 
5
6
  begin
6
7
  require 'erb'
@@ -102,9 +103,9 @@ class ConfigReader
102
103
 
103
104
  def merge_configs(env, conf, sekrets)
104
105
  _conf = conf['defaults']
105
- _conf.merge!(sekrets['defaults']) if sekrets && sekrets['defaults']
106
- _conf.merge!(conf[env]) if conf[env]
107
- _conf.merge!(sekrets[env]) if sekrets && sekrets[env]
106
+ _conf.deep_merge!(sekrets['defaults']) if sekrets && sekrets['defaults']
107
+ _conf.deep_merge!(conf[env]) if conf[env]
108
+ _conf.deep_merge!(sekrets[env]) if sekrets && sekrets[env]
108
109
  ConfigReader::MagicHash.convert_hash(_conf)
109
110
  end
110
111
  end
@@ -94,6 +94,10 @@ describe "ConfigReader" do
94
94
  it "should find sekrets only nested values using [] and a string" do
95
95
  SekretsConfig['nested_key']['value'].should == 'test_sekret'
96
96
  end
97
+
98
+ it "shouldn't need to have all keys duplicated in the environment section" do
99
+ SekretsConfig.nested_key.only_in_test_env.should == true
100
+ end
97
101
  end
98
102
  end
99
103
  end
data/spec/test_config.yml CHANGED
@@ -6,3 +6,5 @@ defaults:
6
6
 
7
7
  test:
8
8
  app_name: test_app
9
+ nested_key:
10
+ only_in_test_env: true
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: config_reader
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Moen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-14 00:00:00.000000000 Z
11
+ date: 2017-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: deep_merge
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rake
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -110,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
124
  version: '0'
111
125
  requirements: []
112
126
  rubyforge_project: config_reader
113
- rubygems_version: 2.2.2
127
+ rubygems_version: 2.5.1
114
128
  signing_key:
115
129
  specification_version: 4
116
130
  summary: Provides a way to manage environment specific configuration settings.