class Yome::Writer
Public Class Methods
new(parser, lang)
click to toggle source
# File lib/yome/writer.rb, line 5 def initialize(parser, lang) @title = "NO TITLE" @parser = parser @lang = lang @sections = [] @texts = [] @parser.chips.each do |e| case e.kind when "title" @title = e.content when "summary" @summary = e.content when "url" @url = e.content when "section" @sections << Section.new(e) when "text" @texts << e end e.parse(parser) end @texts.each do |e| @sections.reverse.each do |sec| if e.path == sec.section.path && e.index > sec.section.index sec.add_text(e) break end end end end
Public Instance Methods
header()
click to toggle source
# File lib/yome/writer.rb, line 39 def header str = "" str += "#{@summary}\n\n" if @summary str += "#{@url}\n\n" if @url end
result()
click to toggle source
# File lib/yome/writer.rb, line 51 def result <<EOS \# #{@title} #{header} #{sections} EOS end
sections()
click to toggle source
# File lib/yome/writer.rb, line 45 def sections @sections.sort_by { |e| e.priority }.map do |e| e.result(@parser, @lang) # TODO: Auto detect lang end.join("\n") end