rexle 1.2.9 → 1.2.10
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.rb +12 -4
- 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: 357f8b7df88a90b74139dae305506bea4fc60484
|
4
|
+
data.tar.gz: ed9fe8a06e4ef7dea9b85783b82da30bde2b648c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30b7b83180b6da2d9e68e266fcb7142607b74ae8590df652d4fa6a8980e48320db0fe8d37d61a0d2892487bfffe92ec0457d206e07eea23767d61ebeaab22029
|
7
|
+
data.tar.gz: 1c457f03cb94a6e16e6cdbd9b7a94685190b9075e2d2bb9a7c6162c99b07722b5635df05ad2603f26e54eea8965ccf5c31c6eac21bc0d47e7f8f0ea2359ee455
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/rexle.rb
CHANGED
@@ -11,6 +11,8 @@ require 'cgi'
|
|
11
11
|
|
12
12
|
# modifications:
|
13
13
|
|
14
|
+
# 07-Feb-2015: Implemented XPath function last() e.g.
|
15
|
+
# doc.root.xpath('records/item[last()]')
|
14
16
|
# 05-Feb=2015: bug fix:
|
15
17
|
# Rexle::Element#texts now transforms all items to a String
|
16
18
|
# 04-Feb-2015: An xpath containing text() now calls texts() to
|
@@ -411,12 +413,17 @@ class Rexle
|
|
411
413
|
end
|
412
414
|
|
413
415
|
def filter_xpath(path, rlist=[], &blk)
|
414
|
-
|
416
|
+
|
415
417
|
# is it a function
|
416
418
|
fn_match = path.match(/^(\w+)\(["']?([^\)]*)["']?\)(?:\[(.*)\])?$/)
|
419
|
+
end_fn_match = path.slice!(/\[\w+\(\)\]$/)
|
420
|
+
|
421
|
+
if end_fn_match then
|
422
|
+
|
423
|
+
m = end_fn_match[1..-4]
|
424
|
+
[method(m.to_sym).call(xpath path)]
|
417
425
|
|
418
|
-
|
419
|
-
if (fn_match and fn_match.captures.first[/^(attribute|@)/]) or fn_match.nil? then
|
426
|
+
elsif (fn_match and fn_match.captures.first[/^(attribute|@)/]) or fn_match.nil? then
|
420
427
|
|
421
428
|
procs = {
|
422
429
|
#jr061012 Array: proc {|x| block_given? ? x : x.flatten.uniq },
|
@@ -442,7 +449,7 @@ class Rexle
|
|
442
449
|
|
443
450
|
results = raw_results
|
444
451
|
|
445
|
-
procs[results.class.to_s.to_sym].call(results) if results
|
452
|
+
procs[results.class.to_s.to_sym].call(results) if results
|
446
453
|
|
447
454
|
else
|
448
455
|
|
@@ -808,6 +815,7 @@ class Rexle
|
|
808
815
|
def has_elements?() !self.elements.empty? end
|
809
816
|
def insert_after(node) insert(node, 1) end
|
810
817
|
def insert_before(node) insert(node) end
|
818
|
+
def last(a) a.last end
|
811
819
|
def map(&blk) self.children.map(&blk) end
|
812
820
|
def root() self end
|
813
821
|
|
data.tar.gz.sig
CHANGED
Binary file
|
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.2.
|
4
|
+
version: 1.2.10
|
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: 2015-02-
|
34
|
+
date: 2015-02-07 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rexleparser
|
metadata.gz.sig
CHANGED
Binary file
|