Class: HViewLoader
- Inherits:
-
Object
- Object
- HViewLoader
- Includes:
- Singleton
- Defined in:
- lib/hengine/hviewloader.rb
Instance Method Summary collapse
-
#initialize ⇒ HViewLoader
constructor
A new instance of HViewLoader.
- #value(fieldName, viewName) ⇒ Object
- #view(moduleName, viewName) ⇒ Object
- #viewByFileName(moduleName, filename) ⇒ Object
- #viewByType(moduleName, viewName, type) ⇒ Object
- #viewParsing(moduleName, viewName, type) ⇒ Object
Constructor Details
#initialize ⇒ HViewLoader
Returns a new instance of HViewLoader.
38 39 40 |
# File 'lib/hengine/hviewloader.rb', line 38 def initialize() @hviews = {} # hypersonic views end |
Instance Method Details
#value(fieldName, viewName) ⇒ Object
57 58 59 60 61 |
# File 'lib/hengine/hviewloader.rb', line 57 def value(fieldName, viewName) return self.view(viewName)[fieldName] end |
#view(moduleName, viewName) ⇒ Object
51 52 53 54 55 |
# 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) ⇒ Object
42 43 44 45 46 47 48 49 |
# 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) ⇒ Object
63 64 65 |
# 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) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# 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 |