Sha256: c1eb53e4ecbca4f1d1abf6856200e70cba4135cdb79aba6db781b1412b613b19

Contents?: true

Size: 582 Bytes

Versions: 10

Compression:

Stored size: 582 Bytes

Contents

# frozen_string_literal: true

module GitFame
  class Diff < Base
    include Enumerable

    attribute :commit, Types::Any
    delegate :tree, to: :commit
    delegate :repo, to: :tree

    # @yield [Hash]
    #
    # @return [void]
    def each(&)
      tree.walk(:preorder).each do |root, entry|
        case entry
        in { type: :blob, name: file, oid: }
          Rugged::Blame.new(repo, root + file, newest_commit: commit).each(&)
        in { type: type, name: file }
          say("Ignore type [%s] in for %s", type, root + file)
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
git_fame-3.2.19 lib/git_fame/diff.rb
git_fame-3.2.18 lib/git_fame/diff.rb
git_fame-3.2.17 lib/git_fame/diff.rb
git_fame-3.2.15 lib/git_fame/diff.rb
git_fame-3.2.13 lib/git_fame/diff.rb
git_fame-3.2.12 lib/git_fame/diff.rb
git_fame-3.2.11 lib/git_fame/diff.rb
git_fame-3.2.10 lib/git_fame/diff.rb
git_fame-3.2.9 lib/git_fame/diff.rb
git_fame-3.2.8 lib/git_fame/diff.rb