rexle 1.0.6 → 1.0.7
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.tar.gz.sig +0 -0
- data/lib/rexle.rb +10 -2
- metadata +3 -3
- 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: f2b3a9a4677cb65f6163a779451d74b13d7abb51
|
|
4
|
+
data.tar.gz: 1816dfc0ab8762ec36a1c1d80d1bac522796516b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f40c7c191e9496203c8e59bc016623150a286b44e9c4e9155973ddc57580e0f5950fab15added496f32d7a397c51937725bf716c5655853e4cc5881d845cd8d0
|
|
7
|
+
data.tar.gz: f13f2e162930d0c36121c4310920dd477835263a11731827c65e644d385a3f07833eb17af651b7864b2554df17d2f856bf74264d932432ae07ef8869a22af7ce
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data.tar.gz.sig
CHANGED
|
Binary file
|
data/lib/rexle.rb
CHANGED
|
@@ -11,6 +11,8 @@ include REXML
|
|
|
11
11
|
|
|
12
12
|
# modifications:
|
|
13
13
|
|
|
14
|
+
# 20-May-2014: feature: XPath Descendants after the element (or without
|
|
15
|
+
# the element) are now supported
|
|
14
16
|
# 02-Apr-2014: bug fix: Rexle::Element#each now returns the children,
|
|
15
17
|
# including the 1st text element
|
|
16
18
|
# 24-Mar-2014: minor bug fix: A blank line is no longer inserted at the
|
|
@@ -278,6 +280,7 @@ class Rexle
|
|
|
278
280
|
end
|
|
279
281
|
|
|
280
282
|
def xpath(path, rlist=[], &blk)
|
|
283
|
+
|
|
281
284
|
r = filter_xpath(path, rlist=[], &blk)
|
|
282
285
|
r.is_a?(Array) ? r.compact : r
|
|
283
286
|
end
|
|
@@ -345,7 +348,7 @@ class Rexle
|
|
|
345
348
|
.match(/([^\[]+)(\[[^\]]+\])?/).captures
|
|
346
349
|
|
|
347
350
|
remaining_path = ($').to_s
|
|
348
|
-
|
|
351
|
+
|
|
349
352
|
r = raw_path[/([^\/]+)(?=\/\/)/,1]
|
|
350
353
|
if r then
|
|
351
354
|
a_path = raw_path.split(/(?=\/\/)/,2)
|
|
@@ -412,7 +415,7 @@ class Rexle
|
|
|
412
415
|
regex = /\[(\d+)\]$/
|
|
413
416
|
n = xpath_value[regex,1]
|
|
414
417
|
xpath_value.slice!(regex)
|
|
415
|
-
|
|
418
|
+
|
|
416
419
|
rs = scan_match(self, xpath_value).flatten.compact
|
|
417
420
|
return n ? rs[n.to_i-1] : rs
|
|
418
421
|
|
|
@@ -754,6 +757,11 @@ class Rexle
|
|
|
754
757
|
|
|
755
758
|
def scan_match(node, path)
|
|
756
759
|
|
|
760
|
+
if path == '//' then
|
|
761
|
+
return [node, !node.text.empty? ? node.text : nil,
|
|
762
|
+
node.elements.map {|x| scan_match x, path}]
|
|
763
|
+
end
|
|
764
|
+
|
|
757
765
|
r = []
|
|
758
766
|
xpath2 = path[2..-1]
|
|
759
767
|
xpath2.sub!(/^\*\//,'')
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rexle
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Robertson
|
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
|
31
31
|
UOGKUMV5RApHDnC0ywMYNe0HK7qMSTP5YLKs8JUjNxpc5jl8+o3D3sHkNN4DzbQm
|
|
32
32
|
jVfzDZ+niKvAUA==
|
|
33
33
|
-----END CERTIFICATE-----
|
|
34
|
-
date: 2014-
|
|
34
|
+
date: 2014-05-20 00:00:00.000000000 Z
|
|
35
35
|
dependencies:
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: rexleparser
|
|
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
116
116
|
version: '0'
|
|
117
117
|
requirements: []
|
|
118
118
|
rubyforge_project:
|
|
119
|
-
rubygems_version: 2.
|
|
119
|
+
rubygems_version: 2.1.11
|
|
120
120
|
signing_key:
|
|
121
121
|
specification_version: 4
|
|
122
122
|
summary: Rexle is a simple XML parser written purely in Ruby
|
metadata.gz.sig
CHANGED
|
Binary file
|