lib/milestoner/cli/commands/build.rb in milestoner-17.0.0 vs lib/milestoner/cli/commands/build.rb in milestoner-17.1.0

- old
+ new

@@ -7,11 +7,11 @@ module CLI module Commands # Handles the building of milestone output. class Build < Sod::Command include Import[:input, :logger, :kernel] - include Builders::Import[:stream, :web] + include Builders::Import[:ascii_doc, :markdown, :stream, :web] using Refinements::Pathname handle "build" @@ -21,35 +21,40 @@ on Actions::Build::Version on Actions::Build::Layout on Actions::Build::Format on Actions::Build::Root + # :reek:TooManyStatements def call log_info "Building milestone..." format = input.build_format case format + when "ascii_doc" then build_ascii_doc + when "markdown" then build_markdown when "stream" then build_stream when "web" then build_web - else log_error "Invalid build format: #{format}." + else logger.abort "Invalid build format: #{format}." end end private attr_reader :view, :enricher + def build_ascii_doc = log_info("Milestone built: #{ascii_doc.call}.") + + def build_markdown = log_info("Milestone built: #{markdown.call}.") + def build_stream kernel.puts stream.call end def build_web = log_info "Milestone built: #{web.call}." def log_info(message) = logger.info { message } - - def log_error(message) = logger.error { message } end end end end