class MaRuKu::In::Markdown::SpanLevelParser::SpanContext
Attributes
cur_string[RW]
elements[RW]
Read elements
Public Class Methods
new()
click to toggle source
# File lib/maruku/input/parse_span_better.rb, line 688 def initialize @elements = [] @cur_string = "" end
Public Instance Methods
describe()
click to toggle source
# File lib/maruku/input/parse_span_better.rb, line 733 def describe lines = @elements.map{|x| x.inspect}.join("\n") s = "Elements read in span: \n" + add_tabs(lines,1, ' -')+"\n" if @cur_string.size > 0 s += "Current string: \n #{@cur_string.inspect}\n" end s end
push_char(c)
click to toggle source
# File lib/maruku/input/parse_span_better.rb, line 721 def push_char(c) @cur_string << c nil end
push_element(e)
click to toggle source
# File lib/maruku/input/parse_span_better.rb, line 693 def push_element(e) raise "Only MDElement and String, please. You pushed #{e.class}: #{e.inspect} " if not (e.kind_of?(String) or e.kind_of?(MDElement)) push_string_if_present @elements << e nil end
Also aliased as: push
push_elements(a)
click to toggle source
# File lib/maruku/input/parse_span_better.rb, line 703 def push_elements(a) for e in a if e.kind_of? String e.each_byte do |b| push_char b end else push_element e end end end
push_space()
click to toggle source
push space into current string if there isn't one
# File lib/maruku/input/parse_span_better.rb, line 728 def push_space last = @cur_string[@cur_string.size-1] @cur_string << ?\ if last != ?\ end
push_string_if_present()
click to toggle source
# File lib/maruku/input/parse_span_better.rb, line 713 def push_string_if_present if @cur_string.size > 0 @elements << @cur_string @cur_string = "" end nil end