Sha256: 7325fb2fde1e355d0fa6da509a78ccf4d2164162c31bed2419b61b946e59bdc8

Contents?: true

Size: 361 Bytes

Versions: 7

Compression:

Stored size: 361 Bytes

Contents

# frozen_string_literal: true

module Milestoner
  module Commits
    # Collects commits since last tag or all commits if untagged.
    class Collector
      include Import[:git]

      def call = git.tagged? ? latest : all

      private

      def latest = git.tag_last.bind { |tag| git.commits "#{tag}..HEAD" }

      def all = git.commits
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
milestoner-17.6.0 lib/milestoner/commits/collector.rb
milestoner-17.5.0 lib/milestoner/commits/collector.rb
milestoner-17.4.0 lib/milestoner/commits/collector.rb
milestoner-17.3.0 lib/milestoner/commits/collector.rb
milestoner-17.2.0 lib/milestoner/commits/collector.rb
milestoner-17.1.0 lib/milestoner/commits/collector.rb
milestoner-17.0.0 lib/milestoner/commits/collector.rb