class Milestoner::CLI::Actions::Status

Handles listing project status of untagged commit history.

Attributes

categorizer[R]
container[R]
presenter[R]

Public Class Methods

new(presenter: Presenters::Commit, categorizer: Commits::Categorizer.new, container: Container) click to toggle source
# File lib/milestoner/cli/actions/status.rb, line 8
def initialize presenter: Presenters::Commit,
               categorizer: Commits::Categorizer.new,
               container: Container
  @presenter = presenter
  @categorizer = categorizer
  @container = container
end

Public Instance Methods

call() click to toggle source
# File lib/milestoner/cli/actions/status.rb, line 16
def call
  categorizer.call
             .tap { |records| info "All is quiet." if records.empty? }
             .map { |record| presenter.new(record).line_item }
             .each { |line_item| info line_item }
end

Private Instance Methods

info(message) click to toggle source
# File lib/milestoner/cli/actions/status.rb, line 27
    def info(message) = logger.info { message }

    def logger = container[__method__]
  end
end
logger(= container[__method__]) click to toggle source
# File lib/milestoner/cli/actions/status.rb, line 29
  def logger = container[__method__]
end