tiny_dot 3.2.0 → 3.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tiny_dot.rb +8 -6
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52bcf490e388fd9f6fabd0855f772dae032564d49a1729294dbb9b301879457b
4
- data.tar.gz: be5c62f28522a4502683af12fc89105e7dd3020ec6c21d492c2a3209121ef042
3
+ metadata.gz: f3ec8b3c35fead6132ebda8b96bae5b856bc106092c5a474ba326551177d3372
4
+ data.tar.gz: 527e7a75b8761a4273db4ebc84516797727b144adef06afc8fe105e2b88713da
5
5
  SHA512:
6
- metadata.gz: 8fb3130d0ec3ba4c3c63e4d7d387af086fc1f708707ab1b5b4c753db9002ad4aea01c5568f93a46f7aef7eb1bf3b5f8e11acce52fba1f8e7d20e929a0f0847fa
7
- data.tar.gz: 657c013991811047e2245d36c0dae6def1a5b7458e1389d5d922048419cc56584ea3c2a3c10b261890d9a7e2b07b633147a6eb2de190d04a661eb97649ead888
6
+ metadata.gz: bc9ee68882c48f76fa70601f2ccb57c3468de75ec3793a07660390e9ea8b5c60066e731155353a34ce6256b11d833b9a01024962609a4f054a4d7313034552cb
7
+ data.tar.gz: f7c25df59caa78c9df9f2a471580e884b77690db316dc579e3ed37798bbdf1f45e2f4b48a44c246f6aea88f82e1348713060cf40cf0c2ecae4b49bd51920be19
data/lib/tiny_dot.rb CHANGED
@@ -66,15 +66,17 @@ module TinyDot
66
66
  _hash_to_struct(hash)
67
67
  end
68
68
 
69
- def _hash_to_struct(hash)
70
- case hash
69
+ def _hash_to_struct(obj)
70
+ case obj
71
71
  when Hash
72
- struct = ::Struct.new(*_to_attr_friendly_symbols(hash.keys))
73
- struct.new(*hash.values.map { |v| _hash_to_struct(v) })
72
+ return obj if obj.keys.empty?
73
+
74
+ struct = ::Struct.new(*_to_attr_friendly_symbols(obj.keys))
75
+ struct.new(*obj.values.map { |v| _hash_to_struct(v) })
74
76
  when Array
75
- hash.map { |v| _hash_to_struct(v) }
77
+ obj.map { |v| _hash_to_struct(v) }
76
78
  else
77
- hash
79
+ obj
78
80
  end
79
81
  end
80
82
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_dot
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Lunt