rexle-diff 0.5.4 → 0.5.5

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: 0cacd13616e246a126d280ddd34ff167a474332c
4
- data.tar.gz: 622523d2364cb42d517f715f8c754c6e96595016
3
+ metadata.gz: 7608ce93f389f3eee77bf502df507d98db7ee7bb
4
+ data.tar.gz: b42d42b1a8dd41615da5be8a7dc8f1bbaabb2eb2
5
5
  SHA512:
6
- metadata.gz: fc4d7c3b59cdebd84711c0c2431a3e8e14c9efa2edc5d877ca6968c2bebb722ef3ba27f69cf888b56b65326039dd01e5a3eabf910834acca18d8414298612517
7
- data.tar.gz: db785ddb56d09026f7f30078d5ae7e70c94102ab8a0b0ec6cdf09d4c7cb68a643247b87d5fcb76cd2b60c05f4145896761cf2472d52c9b1d69674f73f76fa57b
6
+ metadata.gz: 762554af45b94f22e2758c2388a0224faacdf73695651609ccbdbef291e389058a656874616030e6ee08f689cefe63ab8e984f5f269e3870f2ee3d2bbf524bd2
7
+ data.tar.gz: 4ab322587b5fd5aa1599c205aca5b43a6d040487ff240e6ddb6abc98a6c3d1d10c9352d9a539f1809584abf005ca6400fa39457e00552c3cbdb19b390dd014b6
Binary file
data.tar.gz.sig CHANGED
@@ -1,2 +1 @@
1
- }4z��3@7��.H�u��X9��q�=Ψ[�'�yi��䣁\����+z3 \ H����� ;q��fw��/�dl��)ė�t�GBc c� I@'�;k���{ڐ�iȈT��� �#�s��VzB����.~
2
- n������1��ߺsg�U�]������eU�Hñ��o�]���92��aȍi�!��s�rf�v�߭3Eu�/��EעC=��A� ���w����E ��P���~�J���q*z?ע(���x
1
+ ������nJ�_4����.�p�os[ ��3稒{��������>��� �����m���M~&v��$�����=��S��,8�yl͡Z����������.�g���dR����D��B�#�fL��]é�fn�`eo�!\�@���t�o�����=9��ݰ23��XBQo��\;d��c�+����o^��kZh�k��oYx�y���b�mr�Wɞ�bZ�5JY�� �W����1fS\�q�(���?\�
@@ -21,34 +21,26 @@ class RexleDiff
21
21
 
22
22
  private
23
23
 
24
- # Returns an array of MD5 hashed strings representing each child node itself
25
- #
26
- def hashedxml(node)
27
-
28
- node.elements.map do |element|
29
-
30
- attributes = element.attributes.clone
31
-
32
- # Although attribute last_modified isn't used by rexle-diff it is
33
- # created by Dynarex whenever a record is created or updated.
34
- # This would of course cause the record to be flagged as changed even
35
- # when the element value itself hashn't changed.
36
- #
37
- %i(created last_modified).each {|x| attributes.delete x}
38
- x = element.elements.length > 0 ? '' : 0
39
- [element.name, attributes, element.text.to_s.strip, x].hash
40
-
41
- end
42
- end
43
24
 
44
25
 
45
26
  # Returns an array of indexes of the nodes from the newer document which
46
27
  # have been added or changed
47
28
  #
48
29
  def added(hxlist, hxlist2)
49
-
30
+
50
31
  added_or_changed = hxlist2 - hxlist
51
- indexes = added_or_changed.map {|x| hxlist2.index x}
32
+
33
+ n = hxlist2[0..-1].index added_or_changed.first
34
+
35
+ indexes = added_or_changed.inject([n]) do |r,x|
36
+
37
+ i = hxlist2[r.last+1..-1].index x
38
+ if i then
39
+ r << (r.last+1+i)
40
+ end
41
+ r
42
+ end
43
+
52
44
  indexes
53
45
 
54
46
  end
@@ -134,6 +126,27 @@ class RexleDiff
134
126
  [added_indexes, updated_indexes]
135
127
  end
136
128
 
129
+
130
+ # Returns an array of MD5 hashed strings representing each child node itself
131
+ #
132
+ def hashedxml(node)
133
+
134
+ node.elements.map.with_index do |element, i|
135
+
136
+ attributes = element.attributes.clone
137
+
138
+ # Although attribute last_modified isn't used by rexle-diff it is
139
+ # created by Dynarex whenever a record is created or updated.
140
+ # This would of course cause the record to be flagged as changed even
141
+ # when the element value itself hashn't changed.
142
+ #
143
+ %i(created last_modified).each {|x| attributes.delete x}
144
+ x = element.elements.length > 0 ? '' : 0
145
+ [i, element.name, attributes, element.text.to_s.strip, x].hash
146
+
147
+ end
148
+ end
149
+
137
150
  # Returns an array of indexes from both original and new nodes which
138
151
  # identifies which nodes did not change.
139
152
  #
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.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,26 +12,26 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE1MDMyMjIwNDkyMloXDTE2MDMyMTIwNDkyMlowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE2MTEyOTAxMzIwMVoXDTE3MTEyOTAxMzIwMVowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMiYrKeP9vQrQ7WRzzXlh1LUBgFNuKSQyppkKdWiAXyIwOkbuW9Z/p7UkC3D
19
- SOKVlnndW69FEQ2abJCDfqmmXLXU2p67meF8vGcxdK7VzLUe4vUocJYhSqPUy4V4
20
- LweSfcanhY+0AvZ1WRgfnbMvgpDWNg3Bpx6SrxoFUuPJgtWjui6eq4jPiw2MQuJC
21
- zDfe1hpNO0jkuNho8hQHmUQWCXXt04s9jT+Pt5Somrc3GOiRyF72tuilZLmIAv8O
22
- ACxhbCy6hhGa77VAQEv1rLCNc/gEc6/Y6Bkbufy9DJ/fFC3XHruZ5PMMBN5ztBxf
23
- brAGWbPfMYTJEbjy7x39BFNi3iMCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUQidYCjP6g5ocez2NRp80Q31bvHAwJgYDVR0RBB8w
18
+ ggEBANOCMfpspr6/pSs6JV45PdotRZor9jGEssh6y7HzHmbrBPnAZR5drknlzNOl
19
+ dsF9DQACJ42uGVVWjy6F+5ACPELuVhZ+QjCDf4yEknYPQdISyjDWoybrAI9Ugewm
20
+ mbnRaDs3WnVljvGmG9Kgm2f2R0Ft/aD7qYK3bkQuYYyNLSCGzrFgoRQmQQEdPTsO
21
+ wpyWyFYTPk1SfkX1P6R6gEx7XFIRgX5W7VPYRABfYVZjUM84rtHm5nYWnrxI6bM3
22
+ Q4hlc3BVOacUe1q7obCxqpb46kdzko/Q+OqaOw7I5scEIDDGhiLsOcOT/7Vrm6tW
23
+ LJF3T97SBMJ0Y4i8U3BcfxYddEUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUfTz+OfPPy3C2A4MccZsMMD4/OIQwJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEApchg6EQj
27
- q8Exyo/LU2hyzG4//R+oiY2zBE7oM3RUMzVtms+R8n//pdw8nMVG4WXrwaGW7vlt
28
- MHC+TBgGBQWQdXTdP+/eDi01s9Qd+rLl7zxmmw7u8JGQpizZqVGGZCzX/VtMNskJ
29
- Lt2WkJjRXTGGCU6Qk9U/awUr4lAQlxiHciTgG/BsQvuegNUZBFpp7PMaIZ82aAQg
30
- NoitOpFoKRpE0GNLypJU/FJS++2hs1nKKFPZLtrrncRDnI6/9ImymDgBstSfmQH/
31
- 1dtvoSgugum4cZlSFYiRyLXuJz4nZeMJGod1r8cOFR0dwx7yOdvKZybPd4FXWVjG
32
- EozQjWbvhzsspQ==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEArLGWVBmE
27
+ +I90pSB0GFI2T+S9IxszyDywY/ek8Gxqaj5+KduhpvlVocwbTzo98PGhYvaT+QrR
28
+ 8xHRkInKWmD0XthW5vU+ABVO8rDmPtaFDhRcKI1T/TQ+AGmKyyX/e9rQONy1lUbd
29
+ 7QsFvzxJaEjumpBxuVyZfsBqH/0XrsiMO4RVLo1Ett8F7xFR0inP64Q7U/IY45EL
30
+ boA8Q4V1SXXeTTYazitmgVASqf4KDHJVkd+vdNWyGUs3xP1hWL7bQrQsNC1qUIZG
31
+ q1Kd4dlPzOv4eViQtUu66H9or/lvOPWh/CmIReM06Ant7uX9HVEaRG7XDH9fPp5p
32
+ 3j65mk5AS10weg==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-03-27 00:00:00.000000000 Z
34
+ date: 2016-11-29 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rexle
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  requirements: []
102
102
  rubyforge_project:
103
- rubygems_version: 2.4.6
103
+ rubygems_version: 2.5.1
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: rexle-diff
metadata.gz.sig CHANGED
Binary file