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