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