Sha256: 3bd9ae21784dd486c939070d16f74cb415c7dac826c57b6f270ce418d6aaf2bb

Contents?: true

Size: 1.38 KB

Versions: 16

Compression:

Stored size: 1.38 KB

Contents

# frozen_string_literal: true

require 'avm/eac_writings_base0/project_build'
require 'eac_cli/core_ext'
require 'eac_ruby_utils/console/docopt_runner'

module Avm
  module Tools
    class Runner < ::EacRubyUtils::Console::DocoptRunner
      class LocalProject < ::EacRubyUtils::Console::DocoptRunner
        class EacWritingsBase0 < ::EacRubyUtils::Console::DocoptRunner
          class BuildChapters
            runner_with

            runner_definition do
              arg_opt '-o', '--output-dir', 'Output chapters to specific directory.'
            end

            def run
              runner_context.call(:project_banner)
              output_dir.mkpath
              project.chapters.each_with_index do |c, i|
                ::Avm::EacWritingsBase0::ProjectBuild.new(project, chapter_build_options(c, i))
              end
            end

            private

            def chapter_build_options(chapter, index)
              output_name = "#{(index + 1).to_s.rjust(3, '0')}_#{chapter}.pdf"
              { output_file: output_dir.join(output_name), chapter: chapter }
            end

            def output_dir_uncached
              (
                parsed.output_dir || project.default_output_dir.join('chapters')
              ).to_pathname
            end

            def project
              runner_context.call(:project)
            end
          end
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
avm-tools-0.85.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.84.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.83.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.82.1 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.82.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.81.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.80.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.79.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.78.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.77.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.76.1 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.76.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.75.1 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.75.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.74.1 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
avm-tools-0.74.0 lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb