Sha256: 2fcdecac6eb75305c12fe5eb6bfb521a67af8bde0adfb7e205bb13694247fdde

Contents?: true

Size: 746 Bytes

Versions: 9

Compression:

Stored size: 746 Bytes

Contents

# frozen_string_literal: true

require "forwardable"
require "gitt"

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

      extend Forwardable

      delegate [*Gitt::Models::Commit.members, :amend?, :fixup?, :squash?, :prefix?] => :record

      def initialize(record, **)
        super(**)
        @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

9 entries across 9 versions & 1 rubygems

Version Path
milestoner-16.2.1 lib/milestoner/presenters/commit.rb
milestoner-16.2.0 lib/milestoner/presenters/commit.rb
milestoner-16.1.0 lib/milestoner/presenters/commit.rb
milestoner-16.0.2 lib/milestoner/presenters/commit.rb
milestoner-16.0.1 lib/milestoner/presenters/commit.rb
milestoner-16.0.0 lib/milestoner/presenters/commit.rb
milestoner-15.3.0 lib/milestoner/presenters/commit.rb
milestoner-15.2.2 lib/milestoner/presenters/commit.rb
milestoner-15.2.1 lib/milestoner/presenters/commit.rb