Class: Yome::Writer
- Inherits:
-
Object
- Object
- Yome::Writer
- Defined in:
- lib/yome/writer.rb
Instance Method Summary collapse
- #header ⇒ Object
-
#initialize(parser, lang) ⇒ Writer
constructor
A new instance of Writer.
- #result ⇒ Object
- #sections ⇒ Object
Constructor Details
#initialize(parser, lang) ⇒ Writer
Returns a new instance of Writer.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# 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 |
Instance Method Details
#header ⇒ Object
39 40 41 42 43 |
# File 'lib/yome/writer.rb', line 39 def header str = "" str += "#{@summary}\n\n" if @summary str += "#{@url}\n\n" if @url end |
#result ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/yome/writer.rb', line 51 def result <<EOS \# #{@title} #{header} #{sections} EOS end |
#sections ⇒ Object
45 46 47 48 49 |
# 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 |