config_reader 1.0.2 → 1.0.3

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: 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.