yaml_normalizer 1.2.0 → 1.2.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
  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