class HippoXmlParser::Document
Attributes
doc[R]
name[R]
namespace[R]
Public Class Methods
new(doc)
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 4 def initialize(doc) @namespace, @name = doc["sv:name"].split(':') @doc = doc end
Public Instance Methods
[](key)
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 9 def [](key) doc[key] end
fetch(name)
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 37 def fetch(name) prop = find_property(name) prop ? prop.value : nil end
find_node(name)
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 29 def find_node(name) nodes.find {|e| e['sv:name'] == name } end
find_property(name)
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 33 def find_property(name) properties.find {|e| e['sv:name'] == name } end
nodes()
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 25 def nodes @_nodes ||= doc.children.map {|e| Node.new(e) if e.name == "node" }.compact.flatten end
properties()
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 21 def properties @_properties ||= doc.children.map {|e| Property.new(e) if e.name == "property" }.compact.flatten end
type()
click to toggle source
# File lib/hippo_xml_parser/document.rb, line 13 def type el.children.map do |e| if e.name == "property" && e["sv:name"] == "jcr:primaryType" e if e.children.select {|x| x.name == "value" && x.children.to_s == name }.any? end end.flatten.compact.first end