rexle 0.5.0 → 0.5.1
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.
- data/lib/rexle.rb +22 -15
- metadata +2 -2
data/lib/rexle.rb
CHANGED
@@ -14,9 +14,9 @@ class Rexle
|
|
14
14
|
|
15
15
|
if x then
|
16
16
|
procs = {
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
String: proc {|x| parse_string(x)},
|
18
|
+
Array: proc {|x| x},
|
19
|
+
:"REXML::Document" => proc {|x| scan_doc x.root}
|
20
20
|
}
|
21
21
|
a = procs[x.class.to_s.to_sym].call(x)
|
22
22
|
@doc = scan_element(*a)
|
@@ -113,6 +113,7 @@ class Rexle
|
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
|
+
#a.shift # added by jr 171110
|
116
117
|
rlist
|
117
118
|
end
|
118
119
|
|
@@ -127,6 +128,10 @@ class Rexle
|
|
127
128
|
|
128
129
|
def children=(a) @child_elements = a end
|
129
130
|
|
131
|
+
def element(s)
|
132
|
+
self.xpath(s).first
|
133
|
+
end
|
134
|
+
|
130
135
|
def text(s='')
|
131
136
|
s.empty? ? @value : self.xpath(s).first.value
|
132
137
|
end
|
@@ -236,9 +241,9 @@ class Rexle
|
|
236
241
|
|
237
242
|
if x then
|
238
243
|
procs = {
|
239
|
-
|
240
|
-
|
241
|
-
|
244
|
+
String: proc {|x| parse_string(x)},
|
245
|
+
Array: proc {|x| x},
|
246
|
+
:"REXML::Document" => proc {|x| scan_doc x.root}
|
242
247
|
}
|
243
248
|
a = procs[x.class.to_s.to_sym].call(x)
|
244
249
|
else
|
@@ -249,6 +254,16 @@ class Rexle
|
|
249
254
|
self
|
250
255
|
end
|
251
256
|
|
257
|
+
def element(xpath) @doc.element(xpath) end
|
258
|
+
def text(xpath) @doc.text(xpath) end
|
259
|
+
def root() @doc end
|
260
|
+
def xml()
|
261
|
+
body = scan_print(self.root.children).join
|
262
|
+
"<%s>%s</%s>" % [self.root.name, body, self.root.name]
|
263
|
+
end
|
264
|
+
|
265
|
+
private
|
266
|
+
|
252
267
|
def parse_string(x)
|
253
268
|
|
254
269
|
# check if the XML string is a dynarex document
|
@@ -271,14 +286,6 @@ class Rexle
|
|
271
286
|
end
|
272
287
|
|
273
288
|
end
|
274
|
-
|
275
|
-
def root() @doc end
|
276
|
-
def xml()
|
277
|
-
body = scan_print(self.root.children).join
|
278
|
-
"<%s>%s</%s>" % [self.root.name, body, self.root.name]
|
279
|
-
end
|
280
|
-
|
281
|
-
private
|
282
289
|
|
283
290
|
def scan_element(name, value, attributes, *children)
|
284
291
|
element = Element.new(name, value, attributes)
|
@@ -310,4 +317,4 @@ class Rexle
|
|
310
317
|
[node.name, node.text.to_s, attributes, *children]
|
311
318
|
end
|
312
319
|
|
313
|
-
end
|
320
|
+
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.5.
|
4
|
+
version: 0.5.1
|
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-11-
|
12
|
+
date: 2010-11-18 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|