class CbrToEpub::Converter

Attributes

file_manager[R]
input_path[R]
metadata[R]
output_path[R]

Public Class Methods

new(input_path, output_path, metadata) click to toggle source
# File lib/cbr_to_epub/converter.rb, line 10
def initialize(input_path, output_path, metadata)
  @input_path = input_path
  @output_path = output_path
  @metadata = metadata
  @file_manager = FileManager.new
end

Public Instance Methods

convert() click to toggle source
# File lib/cbr_to_epub/converter.rb, line 17
def convert
  file_manager.create
  extractor = Input::ExtractorFactory.new(file_manager).for_file(input_path)
  input_image_files = extractor.extract

  epub_builder = Output::EpubBuilder.new(file_manager, Output::Content::Data.new(metadata, input_image_files))
  epub_builder.generate_metadata
  epub_builder.generate_pages
  epub_builder.generate_images

  epub_compressor = Output::EpubCompressor.new(file_manager)
  epub_compressor.compress
  epub_compressor.copy(output_path)
ensure
  file_manager.cleanup
end