is-deep 0.8.0 → 0.8.0.4

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: 5966f0cd64a5f06c0f18d51c3fabbfb2dd496a427f57b1980690f0a22e4fd25d
4
+ data.tar.gz: d8c7bca3af157ef57af1c88d5f6f9625ae41afecaf4c34728f0489beaba198ce
5
5
  SHA512:
6
- metadata.gz: 205257ce4619b3762c9035af0477a37658a890d8d0eb2c501b00cd3235ec556c0f0ca75810208437bf545a1a00d67183938db8153b0a42be06ddc40a78827ccc
7
- data.tar.gz: 8146ed7638cf40cb3f07902bc17d1b6bb21e8317c5c49857d4d68c9250e8c4bd3e3519ba26c25eb45c6a9a226b47828e7ebc1714d7a9308da752496afaaa45a8
6
+ metadata.gz: 5f2af8337dce78245c2c713db87726f878c3556d9ddba25cd59b9e30d5231dafa5f21f8d8e53fa464715d73363f03fa2de016ea4a1f1deba6a0f66596deb8fc1
7
+ data.tar.gz: 369756cc54b13dd883c51e650dcae3996b888dd142a55ef7209ef1cf3aacc5376e23ff91b070bb14fab9474d4aafa5cd80eda198c9da16a73ee79183c445749e
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.4'
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
@@ -168,3 +168,10 @@ class Array
168
168
 
169
169
  end
170
170
 
171
+ class Module
172
+
173
+ def deep_dup
174
+ self
175
+ end
176
+
177
+ end
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.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Shikhalev