rexle-diff 0.3.0 → 0.3.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 +4 -4
- data/lib/rexle-diff.rb +21 -7
- data.tar.gz.sig +0 -0
- metadata +2 -2
- 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: 2a519555cefb568fc4678efaca42b3eb9b032b99
|
4
|
+
data.tar.gz: bd91eb9278b84f3509c1d3fc4e1e3be116a7e1b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4bb5b88d2dfce46cfe59113cc6f33235b0881c55f32cbc8c9f229250e2568cf13a9d4b130299d829414a35c6178defe1f571cc09c5e358f2bbfe3f1b457ddd6
|
7
|
+
data.tar.gz: 5b21648944c4f5b825bb1192931526ded6ab8d9ab6ba5157c69275900e0bd0b9e7e9020b966737d30167c168995b7c5bb2a5a8bf3d885aeb6bf419ba283d0857
|
checksums.yaml.gz.sig
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
��
|
2
|
-
|
3
|
-
|
4
|
-
�
|
1
|
+
Mܡ���a29��u�i�5��s7�\ԫVP�1t4KVtI�n�8ݚυ�d�4��:�bg=�6+���yh��>1U�/��l�Sy�P�9߮@K�'w� � ��t^{ ���D�owB�8U�^�S��=#��K=��[G��^r��K���@���TU���I�v@;��#����
|
2
|
+
ñ�w!H7�!n�v�dO���F�D
|
3
|
+
���ݰl��`=�td�82��I1�jJ����|;a�
|
4
|
+
��㘇/JlX�
|
data/lib/rexle-diff.rb
CHANGED
@@ -24,13 +24,18 @@ class RexleDiff
|
|
24
24
|
def hashedxml(node)
|
25
25
|
|
26
26
|
node.elements.map do |element|
|
27
|
-
|
27
|
+
|
28
|
+
attributes = element.attributes.clone
|
29
|
+
attributes.delete :created
|
30
|
+
val = [element.name, attributes, element.text].to_s
|
31
|
+
|
32
|
+
h = Digest::MD5.new << val
|
28
33
|
h.to_s
|
29
34
|
end
|
30
35
|
end
|
31
36
|
|
32
37
|
def added(hxlist, hxlist2)
|
33
|
-
|
38
|
+
|
34
39
|
added_or_changed = hxlist2 - hxlist
|
35
40
|
indexes = added_or_changed.map {|x| hxlist2.index x}
|
36
41
|
indexes
|
@@ -41,11 +46,21 @@ class RexleDiff
|
|
41
46
|
|
42
47
|
hxlist, hxlist2 = hashedxml(node), hashedxml(node2)
|
43
48
|
|
49
|
+
# elements which may have been modified are also
|
50
|
+
# added to the added_indexes list
|
51
|
+
|
44
52
|
added_indexes = added(hxlist, hxlist2)
|
45
53
|
|
46
54
|
added_indexes.each do |i|
|
47
|
-
|
48
|
-
|
55
|
+
|
56
|
+
attributes = node2.elements[i+1].attributes
|
57
|
+
attributes[:created] ||= Time.now.to_s
|
58
|
+
|
59
|
+
node2.elements[i+1].traverse do |e|
|
60
|
+
|
61
|
+
e.attributes[:created] ||= Time.now.to_s
|
62
|
+
|
63
|
+
end
|
49
64
|
end
|
50
65
|
|
51
66
|
deleted_indexes = deleted(hxlist, hxlist2)
|
@@ -54,9 +69,8 @@ class RexleDiff
|
|
54
69
|
|
55
70
|
unchanged_indexes.each do |i, i2|
|
56
71
|
|
57
|
-
|
58
|
-
|
59
|
-
|
72
|
+
compare(node.elements[i+1], node2.elements[i2+1]) if node\
|
73
|
+
.elements[i+1].has_elements?
|
60
74
|
end
|
61
75
|
|
62
76
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
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.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
1dtvoSgugum4cZlSFYiRyLXuJz4nZeMJGod1r8cOFR0dwx7yOdvKZybPd4FXWVjG
|
32
32
|
EozQjWbvhzsspQ==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2015-03-
|
34
|
+
date: 2015-03-25 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rexle
|
metadata.gz.sig
CHANGED
Binary file
|