yaml_normalizer 1.2.0 → 1.2.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
  SHA256:
3
- metadata.gz: 2036bed9f89b7b2aab2dcfbeeb10f2300e31832a0e9bacee0136a7078a91d574
4
- data.tar.gz: b29a9f93c38c0749cf4058ed981d9533f5560a970cbd3e8f622e7a9e3ce0bb22
3
+ metadata.gz: c34be74c74e27f38b284ee235c6c311cfade16708033d0d362d85dcfd06ae941
4
+ data.tar.gz: ab798343be3e5751d754a094c9b47018a79a6b3d3378e926be6040f15a712c9e
5
5
  SHA512:
6
- metadata.gz: ba8873fe4c0296e7ad4df98df28525d8ef23b815b385fafc39911468956c627631651729fa740845bdc1ccf3cad07d4efcaa9010142e4eaafaed3537bdcdfb22
7
- data.tar.gz: 074d417f0de927bd0f24f5769eefd02733aaaaefd822b06f433aa4e21c7eb4906d6dfaef5e0c1e6a77e9f7f585d8c79ec616e1aa4ff828bf2c3304a8525512fe
6
+ metadata.gz: 302873f819283cc017bd59b55bad1b7f96e154192e44332593bfa6e3dea7e36f91e017473af5cb8e52e1c48ce31b6f7c410360b3188aacc0178733f2c73d1b5d
7
+ data.tar.gz: 5b05276d7cf67ccdcb8010ed44d23c43e048488a782f83b5a032f15aaddc974d77ff6a02ffc70a1b7571330ddb2f13160bea9adf28bc927518c23a1c1c78fdb5
@@ -17,21 +17,21 @@ module YamlNormalizer
17
17
  # => {"a"=>{"b"=>{"c"=>1}}, "b"=>{"x"=>2, "y"=>{"ok"=>true}, "z"=>4}}
18
18
  # @return [Hash] tree-shaped Hash
19
19
  def nested
20
- tree = Hash.new { |h, k| h[k] = Hash.new(&h.default_proc) }
21
- each { |key, val| nest_key(tree, key.to_s, val) }
22
- tree.default_proc = nil
20
+ tree = {}
21
+ each { |key, val| nest_key(tree, key, val) }
23
22
  tree
24
23
  end
25
24
 
26
25
  private
27
26
 
28
- def nest_key(hash, key, val)
29
- if key.include?('.')
30
- keys = key.split('.')
31
- hash.dig(*keys[0..-2])[keys.fetch(-1)] = val
32
- else
33
- hash[key] = val
27
+ def nest_key(hash, dotted_key, val)
28
+ keys = dotted_key.to_s.split('.')
29
+ last_key = keys.pop.to_s
30
+ sub_hash = hash
31
+ keys.each do |key|
32
+ sub_hash = (sub_hash[key] ||= {})
34
33
  end
34
+ sub_hash[last_key] = val
35
35
  end
36
36
  end
37
37
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module YamlNormalizer
4
4
  # The current Yaml Normalizer version
5
- VERSION = '1.2.0'
5
+ VERSION = '1.2.1'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml_normalizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wolfgang Teuber
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-08-08 00:00:00.000000000 Z
12
+ date: 2020-05-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: peach