tiny_dot 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
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