@@ -325,13 +325,20 @@ def run node
325
325
keys = node . keys
326
326
return if keys . empty?
327
327
328
+ n_content = '@content-desc'
329
+ n_text = '@text'
330
+ n_class = '@class'
331
+ n_resource = '@resource-id'
332
+ n_node = 'node'
333
+
328
334
obj = { }
329
- obj . merge! ( { desc : node [ '@content-desc' ] } ) if keys . include? ( '@content-desc' ) && !node [ '@content-desc' ] . empty?
330
- obj . merge! ( { text : node [ '@text' ] } ) if keys . include? ( '@text' ) && !node [ '@text' ] . empty?
331
- obj . merge! ( { class : node [ '@class' ] } ) if keys . include? ( '@class' ) && !obj . empty?
335
+ obj . merge! ( { desc : node [ n_content ] } ) if keys . include? ( n_content ) && !node [ n_content ] . empty?
336
+ obj . merge! ( { text : node [ n_text ] } ) if keys . include? ( n_text ) && !node [ n_text ] . empty?
337
+ obj . merge! ( { class : node [ n_class ] } ) if keys . include? ( n_class ) && !obj . empty?
338
+ obj . merge! ( { resource_id : node [ n_resource ] } ) if keys . include? ( n_resource ) && !obj . empty?
332
339
333
340
r . push obj if !obj . empty?
334
- run_internal . call node [ 'node' ] if keys . include? ( 'node' )
341
+ run_internal . call node [ n_node ] if keys . include? ( n_node )
335
342
end
336
343
337
344
run_internal . call node
@@ -345,9 +352,10 @@ def run node
345
352
346
353
out = ''
347
354
results . each { |e |
348
- e_class = e [ :class ]
349
355
e_desc = e [ :desc ]
350
356
e_text = e [ :text ]
357
+ e_class = e [ :class ]
358
+ e_resource_id = e [ :resource_id ]
351
359
out += e_class . split ( '.' ) . last + "\n "
352
360
353
361
out += " class: #{ e_class } \n "
@@ -358,6 +366,8 @@ def run node
358
366
out += " name: #{ e_desc } \n " unless e_desc . nil?
359
367
end
360
368
369
+ out += " resource_id: #{ e_resource_id } \n " unless e_resource_id . nil?
370
+
361
371
# there may be many ids with the same value.
362
372
# output all exact matches.
363
373
id_matches = @strings_xml . select do |kv |
0 commit comments