9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/rbraspag/utils.rb', line 9
def self.convert_to_map(document, map = {})
document = Nokogiri::XML(document)
map.each do |keyForMap , keyValue|
if keyValue.is_a?(String) || keyValue.nil?
keyValue = keyForMap if keyValue.nil?
value = document.search(keyValue).first
if !value.nil?
value = value.content.to_s
map[keyForMap] = value unless value == ""
map[keyForMap] = nil if value == ""
else
map[keyForMap] = nil
end
elsif keyValue.is_a?(Proc)
map[keyForMap] = keyValue.call(document)
end
map[keyForMap]
end
map
end
|