mumukit-core 1.10.0 → 1.10.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 358b3deddade2a8a094b3a1206e070355f0c5999b862e64f5001a55ea72da35e
4
- data.tar.gz: 835b9a4db20a87cf79e48fe6e1dd0215ced9ca2911f094efa7804d4d3c4116af
3
+ metadata.gz: f23367aebeb883e253333841f0e03b99ddbc3374460265f17f9992b999aa3ee5
4
+ data.tar.gz: 44fb682cfc01f1654e9a4d779695f996f2f093e514c83f01c821358c0d5a28ee
5
5
  SHA512:
6
- metadata.gz: 18f4c82f036bd72c4912b564ff755efbe44f8d827a280c6ed1b8028e91e50b7aa149c88ce64567696ef30495d0b452d2c868f43d0fc92c3aad950d264c62a490
7
- data.tar.gz: 8f88ca862574cf35a44bb3258eecb85a2163f8beda37697bfb30f726be352f1ff86daef6634196f57b09bdad5267415a4a7e444f83d1aa2d27df965ce096f3b9
6
+ metadata.gz: 93686ea5478d8447abe1448347279bb3ade70f1fe07253e89a9e6c6530fb48865a46191deeb285e13a8eeb1e08484f8d0446bcdeb7e628578c4752bed6356941
7
+ data.tar.gz: 7cc70400fc37094beb3cc1444c0f5610a0f9168c6e0b9ec09c4cb37d9c35bd7387568864acd71fa0b44508d220153aff754900a92858765fbd8b479d58e2d776
@@ -45,18 +45,23 @@ class Hash
45
45
  added_v = diff[:additions][k]
46
46
  next if !diff[:additions].include?(k) || v.class != added_v.class
47
47
  if Array === v
48
- values = v.zip(added_v)
49
- deep_deletions[k] = []
50
- deep_additions[k] = []
51
- values.select { |v1, v2| v1 != v2 }.each do |v1, v2|
52
- if Hash === v1 && Hash === v2
53
- sub_diff = v1.deep_diff(v2)
54
- deep_deletions[k] << sub_diff[:deletions]
55
- deep_additions[k] << sub_diff[:additions]
56
- else
57
- deep_deletions[k] << v1
58
- deep_additions[k] << v2
48
+ if v.size == added_v.size
49
+ values = v.zip(added_v)
50
+ deep_deletions[k] = []
51
+ deep_additions[k] = []
52
+ values.select { |v1, v2| v1 != v2 }.each do |v1, v2|
53
+ if Hash === v1 && Hash === v2
54
+ sub_diff = v1.deep_diff(v2)
55
+ deep_deletions[k] << sub_diff[:deletions]
56
+ deep_additions[k] << sub_diff[:additions]
57
+ else
58
+ deep_deletions[k] << v1
59
+ deep_additions[k] << v2
60
+ end
59
61
  end
62
+ else
63
+ deep_deletions[k] = v - added_v
64
+ deep_additions[k] = added_v - v
60
65
  end
61
66
  elsif Hash === v
62
67
  sub_diff = v.deep_diff(added_v)
@@ -1,5 +1,5 @@
1
1
  module Mumukit
2
2
  module Core
3
- VERSION = '1.10.0'
3
+ VERSION = '1.10.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mumukit-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0
4
+ version: 1.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franco Leonardo Bulgarelli