class HViewLoader

Public Class Methods

new() click to toggle source
# File lib/hengine/hviewloader.rb, line 38
def initialize()
  @hviews = {} # hypersonic views
end

Public Instance Methods

value(fieldName, viewName) click to toggle source
# File lib/hengine/hviewloader.rb, line 57
def value(fieldName, viewName)

  return self.view(viewName)[fieldName] 

end
view(moduleName, viewName) click to toggle source
# File lib/hengine/hviewloader.rb, line 51
def view(moduleName, viewName)

  return self.viewByFileName(moduleName, "#{Dir.pwd}/app/modules/#{moduleName}/#{viewName}/#{viewName}_view.xml")

end
viewByFileName(moduleName, filename) click to toggle source
# File lib/hengine/hviewloader.rb, line 42
def viewByFileName(moduleName, filename)
  
  viewName = filename 
  @hviews[moduleName] = {} unless @hviews[moduleName]
  return @hviews[moduleName][viewName] if @hviews[moduleName][viewName]
  @hviews[moduleName][viewName] = Nokogiri::Slop(File.read(filename))

end
viewByType(moduleName, viewName, type) click to toggle source
# File lib/hengine/hviewloader.rb, line 63
def viewByType(moduleName, viewName, type)
  return self.view(moduleName, viewName).xpath("//view[@type='#{type}']//*")
end
viewParsing(moduleName, viewName, type) click to toggle source
# File lib/hengine/hviewloader.rb, line 67
def viewParsing(moduleName, viewName, type)

  nodes = []
  view = self.view(moduleName, viewName).xpath("//view[@type='#{type}']//*")
  #view = view.xpath(".//*")
  view.each do |node| 
    p node.name
    # node[:type]
    case node.name 
    when "table"
      puts "table"
    when "form"
      puts "form"
    when "panel"
      puts "panel"
    when "field"
      nodes << node          
    else
    end
  end

  return nodes

end