Class: Crystalball::SourceDiff

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable
Defined in:
lib/crystalball/source_diff.rb,
lib/crystalball/source_diff/file_diff.rb,
lib/crystalball/source_diff/formatting_checker.rb

Overview

Wrapper class representing Git source diff for given repo

Defined Under Namespace

Modules: FormattingChecker Classes: FileDiff

Instance Method Summary collapse

Constructor Details

#initialize(git_diff) ⇒ SourceDiff

Returns a new instance of SourceDiff.

Parameters:

  • git_diff (Git::Diff)

    raw diff made by ruby-git gem



17
18
19
# File 'lib/crystalball/source_diff.rb', line 17

def initialize(git_diff)
  @git_diff = git_diff
end

Instance Method Details

#eachObject

Iterates over each changed file of diff



23
24
25
# File 'lib/crystalball/source_diff.rb', line 23

def each
  changeset.each { |file| yield file }
end

#empty?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/crystalball/source_diff.rb', line 27

def empty?
  changeset.none?
end

#repositoryGit::Base

Returns:



32
33
34
# File 'lib/crystalball/source_diff.rb', line 32

def repository
  @repository ||= git_diff.instance_variable_get(:@base)
end