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