Sha256: f91fa03f5151901e1593774b37a0d5ad099d43514e50f850fd6887fce94ba4de

Contents?: true

Size: 1.12 KB

Versions: 14

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

require "sod"

module Milestoner
  module CLI
    module Commands
      # Handles the building of different milestone formats.
      class Build < Sod::Command
        include Import[:settings, :logger, :io]
        include Builders::Import[:ascii_doc, :feed, :markdown, :stream, :web]

        handle "build"

        description "Build milestone."

        on Actions::Build::Basename
        on Actions::Build::Format
        on Actions::Build::Label
        on Actions::Build::Layout
        on Actions::Build::Max
        on Actions::Build::Root
        on Actions::Build::Stylesheet
        on Actions::Build::Tail
        on Actions::Build::Version

        def call
          format = settings.build_format

          log_info "Building #{settings.project_label} (#{format})..."

          if infused_keys.include? format.to_sym
            __send__(format).call
          else
            logger.abort "Invalid build format: #{format}."
          end
        end

        private

        attr_reader :view, :enricher

        def log_info(message) = logger.info { message }
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
milestoner-18.12.0 lib/milestoner/cli/commands/build.rb
milestoner-18.11.0 lib/milestoner/cli/commands/build.rb
milestoner-18.10.0 lib/milestoner/cli/commands/build.rb
milestoner-18.9.0 lib/milestoner/cli/commands/build.rb
milestoner-18.8.0 lib/milestoner/cli/commands/build.rb
milestoner-18.7.0 lib/milestoner/cli/commands/build.rb
milestoner-18.6.0 lib/milestoner/cli/commands/build.rb
milestoner-18.5.0 lib/milestoner/cli/commands/build.rb
milestoner-18.4.0 lib/milestoner/cli/commands/build.rb
milestoner-18.3.0 lib/milestoner/cli/commands/build.rb
milestoner-18.2.0 lib/milestoner/cli/commands/build.rb
milestoner-18.1.0 lib/milestoner/cli/commands/build.rb
milestoner-18.0.1 lib/milestoner/cli/commands/build.rb
milestoner-18.0.0 lib/milestoner/cli/commands/build.rb