class Epuber::Compiler::Generator
Attributes
@return [Epuber::Compiler::CompilationContext]
Public Class Methods
Source
# File lib/epuber/compiler/generator.rb, line 24 def initialize(compilation_context) @compilation_context = compilation_context @book = compilation_context.book @target = compilation_context.target @file_resolver = compilation_context.file_resolver end
@param [Epuber::Compiler::CompilationContext] compilation_context
Protected Instance Methods
Source
# File lib/epuber/compiler/generator.rb, line 53 def generate_xml(&block) builder = Nokogiri::XML::Builder.new(encoding: 'utf-8') do |xml| @xml = xml block&.call(xml) @xml = nil end builder.doc end
Helper
function for generating XML
@yields xml_builder @yieldsparam [Nokogiri::XML::Builder] xml_builder
@return [Nokogiri::XML::Document]
Source
# File lib/epuber/compiler/generator.rb, line 42 def pretty_path(file) file.destination_path end
@param [Epuber::Compiler::FileTypes::AbstractFile] file
@return [String]
Source
# File lib/epuber/compiler/generator.rb, line 33 def pretty_path_for_toc_item(toc_item, fragment: true) file = @file_resolver.file_from_request(toc_item.file_request) [file.destination_path, fragment ? toc_item.file_fragment : nil].compact.join('#') end