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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 489e76982a26a1bb358a790b197df680a962cdb2
4
- data.tar.gz: 4798095f6d19019f78493890be2915ebc385e724
3
+ metadata.gz: 88246b98d185486495816ea3968ae31f34e0e9bd
4
+ data.tar.gz: 71b6beec583a2333d454609b92835b8413347624
5
5
  SHA512:
6
- metadata.gz: ca9b81f46cebd5cd7b2a86e263b5f5318ce705f2fe335c79c9c6287d9f81d50f083bf2bfd6904244248db25dce6881756f28d8e09d871742d5e9434e86f6426d
7
- data.tar.gz: 614b3c0afeb114c74419f3516fe6c0d55488bf9d00297ddb2aca179ca6bba3fce7e882bf2c92605f183d8c08e881c395f380b75afe95e101a84010dc18e8c00c
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
- added_or_changed = values_added_or_changed | names_added_or_changed
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
- _, _, _, *raw_c = a
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
- offset = array_index(a, i)
78
- offset2 = array_index(a2, i2)
79
- a2[offset2][1].merge!(a[offset][1])
80
- compare(c[i],c2[i2]) if c[i].length > 3
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(list, list2)
102
-
103
- result = list & list2
104
- indexes = result.map {|x| list.index x}
105
- indexes2 = result.map {|x| list2.index 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
- ���K]7�Y$�%Ri��o����WV2�ЮZm�%���{�ޮ�+�,�<j�}��;� �����^
3
- �<K��}`��\�q*�Ŷ0�uk��7��N��EL�#�cH��td����"Z����A� 7#/������:F�-��P
4
- �\�k��fu��h]�[�#��F<'w䌰p3Q���#�v3ГFN��n>��K}t l ��V���|����QH��1�fq]�*���f��o����k�Ld
1
+ l�ʰ ��W&�C� /����� !� ���� ��SW�(2L�M����F����n��5L��ڃ�Sې���LR��}��-��
2
+ #��iE�������
3
+ �N�w)��p"Jcl����ͦV��Ԧ�ݲH���M
4
+ ͱ~��lC�b������W�]��K[��ViC5���GHJi+�"��������*b2��U�:[���=���9��yu<���埙=��sTs�a�����R
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rexle-diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file