nice_hash 1.18.2 → 1.18.3

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/nice/hash/deep_clone.rb +10 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28cebce97247546c4f1db4d7f7fda1d307e24cecd2cd8a235782f2c8765092e2
4
- data.tar.gz: cc3fca8a245ad2dd48d0bd3d1653ef09c2aa371fe3509304a0c04795bc3e2597
3
+ metadata.gz: a94b3296aebd74d819129f0c1f78a8727b4845c7f1204061768a1f7d8dfb044e
4
+ data.tar.gz: 901de5b3043b42c499e01820e654950c03f2fa0fc305cff1e4a904681be11af7
5
5
  SHA512:
6
- metadata.gz: 196b9c9e068ef89415b6b2883deaec846a1b7b5ccb3b0c835ed2d50e02f409344ecb4bbfd5a4c87cacf46181765f7bf52b0ee945dff5eec81180a3b5c20e93b6
7
- data.tar.gz: '09ce814e6899f7c163a5c5c009e1617f33262809b7401ee6d3e8c4e73c1a18c4377cf21d80e1d0dc4d6f2a8da0266f0df5aefe599f4adbc77318c41f0f9a0fa3'
6
+ metadata.gz: 6680d1e70b147ceff037e223ec78e37bbba08b76accffc96adcf29cc00a975cb76e697e3aad5b9507131c5964a10563c5ee1c6d0a5904b2f7f7281b9bef43443
7
+ data.tar.gz: 8cbd3a88cceaf12958afbeac4c10b1ef34fed4f2ccf5fcbdeebfff1f5bace38613ce4acc7188733dcf3b8b10abe7d138129506f121895dd4bab3b1996ec0182c
@@ -22,8 +22,16 @@ class NiceHash
22
22
  ##################################################
23
23
  def self.deep_clone(obj)
24
24
  obj.clone.tap do |new_obj|
25
- new_obj.each do |key, val|
26
- new_obj[key] = deep_clone(val) if val.is_a?(Hash)
25
+ if new_obj.is_a?(Array)
26
+ new_obj.each_with_index do |val, i|
27
+ new_obj[i] = deep_clone(val)
28
+ end
29
+ elsif new_obj.is_a?(Hash)
30
+ new_obj.each do |key, val|
31
+ new_obj[key] = deep_clone(val)
32
+ end
33
+ else
34
+ new_obj = obj.clone
27
35
  end
28
36
  end
29
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nice_hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.2
4
+ version: 1.18.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-27 00:00:00.000000000 Z
11
+ date: 2023-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string_pattern