class HTOTConv::Parser::Opml::ListDoc

Public Class Methods

new(outline) click to toggle source
# File lib/htot_conv/parser/opml.rb, line 29
def initialize(outline)
  @outline = outline
  @breadcrumb = []
end

Public Instance Methods

end_element(name) click to toggle source
# File lib/htot_conv/parser/opml.rb, line 41
def end_element(name)
  @breadcrumb.pop if (name == "outline")
end
start_element(name, attrs=[]) click to toggle source
# File lib/htot_conv/parser/opml.rb, line 34
def start_element(name, attrs=[])
  if (name == "outline")
    @breadcrumb << name
    generate_outline_item(attrs)
  end
end

Private Instance Methods

generate_outline_item(attrs) click to toggle source
# File lib/htot_conv/parser/opml.rb, line 46
def generate_outline_item(attrs)
  text = ""
  level = @breadcrumb.length
  values = []
  attrs.each do |pair|
    attr_name, attr_val = pair
    if attr_name == "text"
      text = attr_val
    else
      unless @outline.value_header.include?(attr_name)
        @outline.value_header << attr_name 
        values[@outline.value_header.length - 1] = attr_val
      else
        values[@outline.value_header.index(attr_name)] = attr_val
      end
    end
  end

  @outline.add_item(text, level, values)
end