| Class | Kwartz::ElementInfo |
| In: |
kwartz/converter.rb
|
| Parent: | Object |
| append_exprs | [RW] | |
| attr_info | [RW] | |
| cont_expr | [R] | |
| cont_stmts | [RW] | |
| elem_expr | [R] | |
| etag_expr | [R] | |
| etag_info | [RW] | |
| logic | [RW] | |
| name | [RW] | |
| stag_expr | [R] | |
| stag_info | [RW] |
# File kwartz/converter.rb, line 176 def self.create(values={}) self.new(values[:name], values[:stag], values[:etag], values[:cont], values[:attr], values[:append]) end
# File kwartz/converter.rb, line 156 def initialize(name, stag_info, etag_info, cont_stmts, attr_info, append_exprs) @name = name # String @stag_info = stag_info # TagInfo @etag_info = etag_info # TagInfo @cont_stmts = cont_stmts # list of Statement @attr_info = attr_info # AttrInfo @append_exprs = append_exprs # list of NativeExpression @logic = [ ExpandStatement.new(:elem, @name) ] @merged = nil end
# File kwartz/converter.rb, line 181 def merge(elem_ruleset) return unless elem_ruleset.name == @name @merged = elem_ruleset @stag_expr = _to_native_expr(elem_ruleset.stag) @cont_expr = _to_native_expr(elem_ruleset.cont || elem_ruleset.value) @etag_expr = _to_native_expr(elem_ruleset.etag) @elem_expr = _to_native_expr(elem_ruleset.elem) if @cont_expr @cont_stmts = [ PrintStatement.new([@cont_expr]) ] @stag_info.tail_space = '' @etag_info.head_space = '' @etag_info.rebuild_tag_text() end elem_ruleset.remove.each do |aname| @attr_info.delete(aname) end if elem_ruleset.remove elem_ruleset.attrs.each do |aname, avalue| @attr_info[aname] = _to_native_expr(avalue) end if elem_ruleset.attrs elem_ruleset.append.each do |expr| (@append_exprs ||= []) << _to_native_expr(expr) end if elem_ruleset.append @tagname = elem_ruleset.tagname @logic = elem_ruleset.logic if elem_ruleset.logic end