Class: Epubber::Generator
- Inherits:
-
Object
- Object
- Epubber::Generator
- Defined in:
- lib/epubber/generator.rb
Overview
Given a book and a place to work in, generates all required EPUB files
Direct Known Subclasses
Epubber::Generators::Chapters, Epubber::Generators::Content, Epubber::Generators::Endnotes, Epubber::Generators::Static, Epubber::Generators::Toc
Instance Attribute Summary collapse
-
#book ⇒ Object
readonly
Returns the value of attribute book.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#working_dir ⇒ Object
readonly
Returns the value of attribute working_dir.
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(book:, filename:, working_dir:) ⇒ Generator
constructor
A new instance of Generator.
- #register_generators(params) ⇒ Object
Constructor Details
#initialize(book:, filename:, working_dir:) ⇒ Generator
Returns a new instance of Generator.
13 14 15 16 17 18 19 20 21 |
# File 'lib/epubber/generator.rb', line 13 def initialize(book:, filename:, working_dir:) @book = book @filename = filename || "#{book.title}.epub" @working_dir = working_dir || '/tmp/epubber' @persistance = Epubber::Services::Persistance.new File.join(@working_dir, 'workspace') @generators = [] register_generators book: book, persistance: @persistance end |
Instance Attribute Details
#book ⇒ Object (readonly)
Returns the value of attribute book.
12 13 14 |
# File 'lib/epubber/generator.rb', line 12 def book @book end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
12 13 14 |
# File 'lib/epubber/generator.rb', line 12 def filename @filename end |
#working_dir ⇒ Object (readonly)
Returns the value of attribute working_dir.
12 13 14 |
# File 'lib/epubber/generator.rb', line 12 def working_dir @working_dir end |
Instance Method Details
#generate ⇒ Object
32 33 34 35 |
# File 'lib/epubber/generator.rb', line 32 def generate @generators.each { |generator| generator.generate } pack end |
#register_generators(params) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/epubber/generator.rb', line 23 def register_generators(params) add_generator Epubber::Generators::Content.new(params) add_generator Epubber::Generators::Introduction.new(params) add_generator Epubber::Generators::Toc.new(params) add_generator Epubber::Generators::Chapters.new(params) add_generator Epubber::Generators::Static.new(params) add_generator Epubber::Generators::Endnotes.new(params) end |