Sha256: a1a403bf434584c9bceac097da665fae6b8c2125caea562db706d7391bfed585
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
module Klipbook module Commands module Exporters class Exporter def initialize(logger=Logger.new) @logger = logger end def run!(books:, force:, output_dir:) @logger.info "Using output directory: #{output_dir}" books.each do |book| export_book(book, output_dir, force) end end private def export_book(book, output_dir, force) filename = filename_for_book(book) filepath = File.join(output_dir, filename) if !force && File.exist?(filepath) @logger.info "- Skipping #{filename}" return end @logger.info "+ Writing #{filename}" File.open(filepath, 'w') do |f| f.write render_contents(book) end end def render_contents(book) raise "Implement me" end def extension raise "Implement me" end def filename_for_book(book) "#{book.title.gsub(/[:,\/!?]/, "")}.#{extension}" end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
klipbook-4.0.0 | lib/klipbook/commands/exporters/exporter.rb |
klipbook-3.0.0 | lib/klipbook/commands/exporters/exporter.rb |