class OpmlToOrg

converter from opml to org

Constants

LEVEL

Public Class Methods

new(file) click to toggle source
# File lib/opml2org.rb, line 6
def initialize(file)
  docs = Opml.new(File.read(file))
  print recursive_output(docs, 1)
end

Private Instance Methods

plain_text(text) click to toggle source
# File lib/opml2org.rb, line 13
def plain_text(text)
  [["\&lt;",  '<'],
   ["\&gt;",  '>'],
   ["\&quot;", '"'],
   ["\&apos;", "\'"],
   ["\&amp;", "\&"]].each { |pair| text.gsub!(*pair) }
  text
end
recursive_output(curr, level) click to toggle source
# File lib/opml2org.rb, line 28
def recursive_output(curr, level)
  return '' if curr.outlines.empty?
  curr.outlines.inject('') do |result, ele|
    text = ele.attributes['text']
    next ele unless text
    result << to_org(text, level)
    result << recursive_output(ele, level + 1)
  end
end
to_org(text, level) click to toggle source
# File lib/opml2org.rb, line 23
def to_org(text, level)
  mark = level > LEVEL ? '-' * (level - LEVEL) : '*' * level
  mark + plain_text(text) + "\n"
end