class Fyodor::OutputGenerator
Public Class Methods
new(book, config, params={})
click to toggle source
# File lib/fyodor/output_generator.rb, line 8 def initialize(book, config, params={}) @book = book @config = config @params = params end
Public Instance Methods
output()
click to toggle source
# File lib/fyodor/output_generator.rb, line 14 def output ERB.new(@config["template"], trim_mode: '-').result(binding) end
Private Instance Methods
bookmarks()
click to toggle source
# File lib/fyodor/output_generator.rb, line 25 def bookmarks @bookmarks ||= @book.select { |entry| entry.type == Entry::TYPE[:bookmark] }.sort end
place(entry)
click to toggle source
# File lib/fyodor/output_generator.rb, line 29 def place(entry) raise "Description is not parsed." unless entry.desc_parsed? ((entry.page.nil? ? "" : "page #{entry.page}, ") + (entry.loc.nil? ? "" : "loc. #{entry.loc}")).delete_suffix(", ") end
regular_entries()
click to toggle source
# File lib/fyodor/output_generator.rb, line 21 def regular_entries @regular_entries ||= @book.reject { |entry| entry.type == Entry::TYPE[:bookmark] }.sort end