Class: Nokogiri::XML::Element

Inherits:
Object
  • Object
show all
Defined in:
lib/hengine/hviewloader.rb

Instance Method Summary collapse

Instance Method Details

#value(name) ⇒ Object

If node is <field name=“name” caption=“Name”/> then:

  • node.value(“name”) # => hello

  • node.value(“caption”) # => Name

e se voglio in name di panel ?

  • node.value(“panel.name”) # => product

  • node.value(“panel.panel.name”) # => article



21
22
23
24
25
26
27
28
29
30
# File 'lib/hengine/hviewloader.rb', line 21

def value(name)
  tokens = name.split('.')
  return nil if tokens.empty?
  return self.parent.value(tokens[1..-1].join('.')) if tokens.length > 2
  # Se per es. name e' "panel.label" e arriviamo all'elemento panel si deve restituire il valore di label 
  # e se tale elemento non esiste si restituisce nil ma non si deve continare a ricercare tra i genitori
  return self[tokens[1]] if (tokens.length == 2 and tokens[0] == self.name)
  return self[name] if self[name] 
  return (self.parent and self.parent.class == Nokogiri::XML::Element) ? self.parent.value(name) : nil
end