rexle-diff 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|