mixlib-config 3.0.9 → 3.0.27

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
  SHA256:
3
- metadata.gz: 173fecb906c8de32acb4d86da76ffdbbc6f56344a1f4241f70703edc617aa70b
4
- data.tar.gz: 2a139c38d1c2c611e7631004de53e5949c27287125b042dbde293290f0cb3106
3
+ metadata.gz: 244c4985aca98893235fd40849494fffac378dfc1e3814c99eeb2315fb378d38
4
+ data.tar.gz: 616f2fff1b715bdd98451cabbcc97c1f41bfcbef2fd9c1196548fe59070ece73
5
5
  SHA512:
6
- metadata.gz: 6672d34b127fdee131675e9afe208773c8dcc2e4aa57519af186d18a906d594d7a71b4cef25bb26fbc801c67bf0e964b4feeff5b3746460499cf000b20679ca3
7
- data.tar.gz: a4f6e15bc340476b2773dcd8c9f7b3825e5a2b7860b2e064f427a9289993d5195594ad4e813d0ceccf888123de32bf80c534669526ff23e8858adce0c488271e
6
+ metadata.gz: 9d83d13b43d723dc8f516d525388d2d089859fbd8d98ba2ca8d6910af64c75a4e9749daea1c3399da9b7bdc7058a78e38e517a5a149bcf2b0ff2810fc98c51c6
7
+ data.tar.gz: 33edd2c26ac7be09708384a2113d2087861a3d43f1b2b9d185367a5247098d1b6df7dbf13a41e7bcf5fd9279a908cef11362c52fdfd15aa21ebef201ca653a38
@@ -19,7 +19,7 @@
19
19
  module Mixlib
20
20
  module Config
21
21
 
22
- VERSION = "3.0.9".freeze
22
+ VERSION = "3.0.27".freeze
23
23
 
24
24
  end
25
25
  end
data/lib/mixlib/config.rb CHANGED
@@ -565,10 +565,13 @@ module Mixlib
565
565
  # the #to_dotted_hash method above.
566
566
  #
567
567
  # === Parameters
568
- # hash<Hash>:: The hash to apply to the config oject
568
+ # hash<Hash>:: The hash to apply to the config object
569
569
  def apply_nested_hash(hash)
570
570
  hash.each do |k, v|
571
- if v.is_a? Hash
571
+ if v.is_a?(Hash) && internal_get(k.to_sym).is_a?(Hash)
572
+ # If it is a plain config key (not a context) and the value is a Hash, plain merge the Hashes.
573
+ internal_set(k.to_sym, internal_get(k.to_sym).merge(v))
574
+ elsif v.is_a? Hash
572
575
  # If loading from hash, and we reference a context that doesn't exist
573
576
  # and warning/strict is off, we need to create the config context that we expected to be here.
574
577
  context = internal_get(k.to_sym) || config_context(k.to_sym)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixlib-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.9
4
+ version: 3.0.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-13 00:00:00.000000000 Z
11
+ date: 2022-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tomlrb
@@ -50,14 +50,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '2.4'
53
+ version: '2.5'
54
54
  required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  requirements: []
60
- rubygems_version: 3.0.3
60
+ rubygems_version: 3.1.4
61
61
  signing_key:
62
62
  specification_version: 4
63
63
  summary: A class based configuration library