rexle 0.2.7 → 0.2.8

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.
Files changed (2) hide show
  1. data/lib/rexle.rb +8 -3
  2. metadata +2 -2
data/lib/rexle.rb CHANGED
@@ -14,14 +14,14 @@ class Rexle
14
14
 
15
15
  if fn_match.nil? then
16
16
  procs = {
17
- Array: proc {|x| x.compact!; x.length == 1 ? x[0] : x},
17
+ Array: proc {|x| r = x.flatten.compact; r.length == 1 ? r[0] : r},
18
18
  String: proc {|x| x}
19
19
  }
20
20
  bucket = []
21
21
  result = @doc.xpath(path, bucket)
22
22
 
23
23
  procs[result.class.to_s.to_sym].call(result)
24
- bucket
24
+
25
25
  else
26
26
  m, xpath_value = fn_match.captures
27
27
  method(m.to_sym).call(xpath_value)
@@ -100,11 +100,13 @@ class Rexle
100
100
  if return_elements.length > 0 then
101
101
  if a.empty? then
102
102
  rlist = return_elements.map.with_index {|x,i| filter(x, i+1, attr_search)}
103
+ rlist
103
104
  else
104
105
  return_elements.map.with_index do |x,i|
105
106
  rtn_element = filter(x, i+1, attr_search){|e| r = e.xpath(a.join('/'), rlist); r || e }
106
107
 
107
108
  rlist << rtn_element
109
+ rlist
108
110
  end
109
111
  end
110
112
  else
@@ -114,6 +116,8 @@ class Rexle
114
116
  self.xpath(new_xpath, rlist)
115
117
  end
116
118
  end
119
+
120
+ rlist
117
121
  end
118
122
 
119
123
  def scan_match(nodes, element, rlist)
@@ -121,6 +125,7 @@ class Rexle
121
125
  rlist << x if x.name == element
122
126
  x.xpath('//' + element, rlist) unless x.children.empty?
123
127
  end
128
+ rlist
124
129
  end
125
130
 
126
131
  def attributes()
@@ -218,4 +223,4 @@ class Rexle
218
223
  @doc.xpath(path).flatten.compact.length
219
224
  end
220
225
 
221
- end
226
+ end
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: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors: []
7
7
 
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-10-28 00:00:00 +01:00
12
+ date: 2010-10-29 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15