is-deep 0.8.0 → 0.8.0.2

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: 411c8b523f176b63dfbbf1ead02fd233d797a2e2ef7e647c2ced7a2d990ddcea
4
- data.tar.gz: d1b89698808ec204702acbc174e6f9c564b9e09a5688f98921a5200f1c939b99
3
+ metadata.gz: bd12e9b4517e822aea081d8c356b8e4f5fa8c6a854126760a44fe1e420820b06
4
+ data.tar.gz: 5ab58bab6834fe546c7aefc8b51d4f79adcf5b69c5743f68b5645f474f1de55e
5
5
  SHA512:
6
- metadata.gz: 205257ce4619b3762c9035af0477a37658a890d8d0eb2c501b00cd3235ec556c0f0ca75810208437bf545a1a00d67183938db8153b0a42be06ddc40a78827ccc
7
- data.tar.gz: 8146ed7638cf40cb3f07902bc17d1b6bb21e8317c5c49857d4d68c9250e8c4bd3e3519ba26c25eb45c6a9a226b47828e7ebc1714d7a9308da752496afaaa45a8
6
+ metadata.gz: 05e75f91a1bbd13a8cc50ba22c00f32be57f9e656c5df6904b7228b4019cd48fa8cc5444731853b71c0b042a7479acc475b6afbf2d177d3523f7a545838d9851
7
+ data.tar.gz: 1af0091f06691498d20a7801d4f0b4d79abbe74abcaa4ed1dca9117626e5dec95d328107b0f344916987fdf90f7627c996cd2f0f9fbfe0c7e1167c9d84aa59f7
data/lib/is-deep/core.rb CHANGED
@@ -57,7 +57,7 @@ module IS::Deep
57
57
  base = if self.respond_to?(:deep_dup)
58
58
  self.deep_dup
59
59
  elsif self.respond_to?(:dup)
60
- self.dup
60
+ self.dup rescue self
61
61
  else
62
62
  self
63
63
  end
data/lib/is-deep/info.rb CHANGED
@@ -7,7 +7,7 @@ end
7
7
  # @api private
8
8
  module IS::Deep::Info
9
9
  NAME = 'is-deep'
10
- VERSION = '0.8.0'
10
+ VERSION = '0.8.0.2'
11
11
  SUMMARY = 'Deep merge implementation'
12
12
  AUTHOR = 'Ivan Shikhalev'
13
13
  LICENSE = 'LGPL-3.0-only'
data/lib/is-deep.rb CHANGED
@@ -35,7 +35,7 @@ class Hash
35
35
  elsif value.respond_to?(:deep_dup)
36
36
  visited[id] = value.deep_dup
37
37
  elsif value.respond_to?(:dup)
38
- visited[id] = value.dup
38
+ visited[id] = value.dup rescue value
39
39
  else
40
40
  visited[id] = value
41
41
  end
@@ -116,7 +116,7 @@ class Array
116
116
  elsif item.respond_to?(:deep_dup)
117
117
  visited[id] = item.deep_dup
118
118
  elsif item.respond_to?(:dup)
119
- visited[id] = item.dup
119
+ visited[id] = item.dup rescue item
120
120
  else
121
121
  visited[id] = item
122
122
  end
@@ -167,4 +167,3 @@ class Array
167
167
  end
168
168
 
169
169
  end
170
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: is-deep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Shikhalev