rexle 0.2.4 → 0.2.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.
Files changed (2) hide show
  1. data/lib/rexle.rb +4 -6
  2. metadata +1 -1
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.length == 1 ? x[0] : x},
17
+ Array: proc {|x| x.compact!; x.length == 1 ? x[0] : x},
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)
@@ -96,17 +96,15 @@ class Rexle
96
96
  end
97
97
 
98
98
  return_elements = @child_lookup.map.with_index.select {|x| x[0][0] == element_name or element_name == '*'}
99
-
100
99
 
101
100
  if return_elements.length > 0 then
102
101
  if a.empty? then
103
- return_elements.map.with_index {|x,i| filter(x, i+1, attr_search)}
102
+ rlist = return_elements.map.with_index {|x,i| filter(x, i+1, attr_search)}
104
103
  else
105
104
  return_elements.map.with_index do |x,i|
106
105
  rtn_element = filter(x, i+1, attr_search){|e| r = e.xpath(a.join('/'), rlist); r || e }
107
106
 
108
107
  rlist << rtn_element
109
- rtn_element
110
108
  end
111
109
  end
112
110
  else
@@ -220,4 +218,4 @@ class Rexle
220
218
  @doc.xpath(path).flatten.compact.length
221
219
  end
222
220
 
223
- end
221
+ 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.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors: []
7
7