class Dyndoc::Ruby::BlckMngr
this is an attempt to offer an interface for running on a block tree. usefull for user adding dtag.
Attributes
blck[R]
children[R]
filter[R]
tmplMngr[R]
Public Class Methods
new(tmplMngr,blck,tex,filter)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 13 def initialize(tmplMngr,blck,tex,filter) @tmplMngr,@blck,@pos=tmplMngr,blck,0 @tex,@filter=tex,filter @children=[] #the blocks end
Public Instance Methods
<<(content)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 34 def <<(content) @tex << content return self end
[](i)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 59 def [](i) @blck[i] end
at_end?()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 51 def at_end? @pos == @blck.length-1 end
child(i=-1)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 75 def child(i=-1) @children[i] end
child_as_var()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 140 def child_as_var b=@tmplMngr.make_var_block(child.unshift(:var),@filter) @tmplMngr.eval_VARS(b,@filter) end
goto_next_child!()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 94 def goto_next_child! unless @gone @pos+=@children[-1].length @gone=true #only once! end end
length()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 47 def length @blck.length end
next_at_end?()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 55 def next_at_end? @pos == @blck.length-2 end
next_child()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 88 def next_child b=next_child_at(@pos) @gone=nil return b end
next_child!()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 101 def next_child! @children << next_child goto_next_child! return child end
next_child_at(pos)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 79 def next_child_at(pos) b,i=[],pos while (i+1<@blck.length and @blck[i+1].is_a? Array) i+=1 b << @blck[i] end return b end
next_child_until(tagset)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 107 def next_child_until(tagset) b,i=[],@pos #p @blck while (i+1<@blck.length and !(tagset.include? @blck[i+1])) i += 1 b << @blck[i] end @gone=nil return b end
next_child_until!(tagset)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 118 def next_child_until!(tagset) @children << next_child_until(tagset) goto_next_child! return child end
next_child_while(tagset)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 124 def next_child_while(tagset) b,i=[],@pos while (i+1<@blck.length and (tagset.include? @blck[i+1])) i+=1 b << @blck[i] end @gone=nil return b end
next_child_while!(tagset)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 134 def next_child_while!(tagset) @children << next_child_while(tagset) goto_next_child! return child end
next_tag()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 67 def next_tag @blck[@pos+1] end
next_tag!()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 71 def next_tag! @blck[@pos+=1] end
parse(blck=@blck,filter=@filter)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 23 def parse(blck=@blck,filter=@filter) ##Dyndoc.warn "parse!!!",blck res=@tmplMngr.parse(blck,filter) ##Dyndoc.warn "result parse",res res end
parse!(blck=@blck,filter=@filter)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 30 def parse!(blck=@blck,filter=@filter) self << parse(blck,filter) end
parse_child(filter=@filter)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 19 def parse_child(filter=@filter) @tmplMngr.parse(child,filter) end
pos()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 43 def pos @pos end
pos=(i)
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 39 def pos=(i) @pos=i end
tag()
click to toggle source
# File lib/dyndoc/base/tmpl/extension.rb, line 63 def tag @blck[@pos] end