rexle-diff 0.2.0 → 0.2.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/rexle-diff.rb +25 -19
- data.tar.gz.sig +4 -4
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88246b98d185486495816ea3968ae31f34e0e9bd
|
4
|
+
data.tar.gz: 71b6beec583a2333d454609b92835b8413347624
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7ab590a834d4957672e1bd733f99960775065355b20372bc9e10c7fbae96bea845f35eaf535e74f9a513a8a923dcd519f53f551e3fc37c7c870d06a4249cfe6
|
7
|
+
data.tar.gz: 8f401301134668b32c7718c8325d7b55615f6eeb14fb20e6fe7d8dcc9ddda42df19e39f634141873b3b3ee47cf172025ef217dedc8772221658db1277979f2b2
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/rexle-diff.rb
CHANGED
@@ -31,10 +31,10 @@ class RexleDiff
|
|
31
31
|
|
32
32
|
values_added_or_changed = values2 - values
|
33
33
|
names_added_or_changed = names - names2
|
34
|
-
|
35
|
-
|
34
|
+
|
36
35
|
values_indexes = values_added_or_changed.map {|x| values2.index x}
|
37
36
|
names_indexes = names_added_or_changed.map {|x| names.index x}
|
37
|
+
|
38
38
|
values_indexes | names_indexes
|
39
39
|
|
40
40
|
end
|
@@ -45,7 +45,8 @@ class RexleDiff
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def compare(a, a2)
|
48
|
-
|
48
|
+
|
49
|
+
_, _, _, *raw_c = a
|
49
50
|
c = raw_c.select{|x| x.is_a? Array}
|
50
51
|
names, values = names_values(c)
|
51
52
|
|
@@ -64,20 +65,20 @@ class RexleDiff
|
|
64
65
|
# we need to know the deleted index
|
65
66
|
deleted_indexes = deleted(values, values2)
|
66
67
|
|
67
|
-
unchanged_indexes = unchanged(values, values2)
|
68
|
-
#puts 'c : ' + c.inspect
|
69
|
-
#puts 'added: ' + added_indexes.inspect
|
70
|
-
#puts 'deleted :' + deleted_indexes.inspect
|
71
|
-
#puts 'unchanged : ' + unchanged_indexes.inspect
|
68
|
+
unchanged_indexes = unchanged(values, values2, names, names2)
|
72
69
|
|
73
70
|
# check the child element if any
|
74
71
|
|
75
72
|
unchanged_indexes.each do |i, i2|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
73
|
+
|
74
|
+
names.each do |name|
|
75
|
+
|
76
|
+
offset = array_index(a, i)
|
77
|
+
offset2 = array_index(a2, i2)
|
78
|
+
a2[offset2][1].merge!(a[offset][1])
|
79
|
+
|
80
|
+
compare(c[i],c2[i2]) if c[i].length > 3
|
81
|
+
end
|
81
82
|
end
|
82
83
|
|
83
84
|
end
|
@@ -98,13 +99,18 @@ class RexleDiff
|
|
98
99
|
return doc
|
99
100
|
end
|
100
101
|
|
101
|
-
def unchanged(
|
102
|
-
|
103
|
-
result =
|
104
|
-
indexes = result.map {|x|
|
105
|
-
indexes2 = result.map {|x|
|
102
|
+
def unchanged(values, values2, names, names2)
|
103
|
+
|
104
|
+
result = values & values2
|
105
|
+
indexes = result.map {|x| values.index x}
|
106
|
+
indexes2 = result.map {|x| values2.index x}
|
107
|
+
|
108
|
+
names_result = names & names2
|
109
|
+
name_indexes = names_result.map {|x| names.index x}
|
110
|
+
name_indexes2 = names_result.map {|x| names2.index x}
|
111
|
+
|
106
112
|
|
107
|
-
indexes.zip(indexes2)
|
113
|
+
(indexes | name_indexes).zip(indexes2 | name_indexes2)
|
108
114
|
|
109
115
|
end
|
110
116
|
|
data.tar.gz.sig
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
� �l�ʰ��W&�C� /�����!����� ��SW�(2L�M����F����n��5L��ڃ�Sې���LR��}��-��
|
2
|
+
#��i�E�������
|
3
|
+
�N�w)��p"Jcl����ͦV��Ԧ�ݲH���M
|
4
|
+
ͱ~��lC�b������W�]��K�[��ViC5���G�HJi+�"��������*b2��U�:[���=���9��y�u<���埙=��sTs�a�����R
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|