Sha256: fe2adbf958a594bc0630209860ceb77ce8b31e472e6a7bf63f0b6badfec12ab1

Contents?: true

Size: 749 Bytes

Versions: 8

Compression:

Stored size: 749 Bytes

Contents

# frozen_string_literal: true

require "forwardable"
require "git_plus"

module Milestoner
  module Presenters
    # Wraps the Git Kit Commit for presentation purposes.
    class Commit
      include Import[:configuration]

      extend Forwardable

      delegate [*GitPlus::Commit.members, :fixup?, :squash?] => :record

      def initialize record, **dependencies
        super(**dependencies)
        @record = record
      end

      def line_item(delimiter: " - ") = "#{bullet}#{subject}#{delimiter}#{author_name}"

      private

      attr_reader :record

      def bullet
        case configuration.documentation_format
          when "md" then "- "
          when "adoc" then "* "
          else ""
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
milestoner-14.5.0 lib/milestoner/presenters/commit.rb
milestoner-14.4.0 lib/milestoner/presenters/commit.rb
milestoner-14.3.0 lib/milestoner/presenters/commit.rb
milestoner-14.2.0 lib/milestoner/presenters/commit.rb
milestoner-14.1.0 lib/milestoner/presenters/commit.rb
milestoner-14.0.2 lib/milestoner/presenters/commit.rb
milestoner-14.0.1 lib/milestoner/presenters/commit.rb
milestoner-14.0.0 lib/milestoner/presenters/commit.rb