class FindChangedFiles

Constants

GIT_DIFF_COMMAND
GIT_DIFF_OPTIONS
REDIRECT_STDERR_TO_STDOUT

Attributes

base_ref[R]
diff_ref[R]

Public Class Methods

new(base_ref: nil, diff_ref: nil) click to toggle source
# File lib/find_changed_files.rb, line 15
def initialize(base_ref: nil, diff_ref: nil)
  @base_ref = base_ref
  @diff_ref = diff_ref
end

Public Instance Methods

call() click to toggle source
# File lib/find_changed_files.rb, line 20
def call
  if simple_diff?
    SimpleDiff.new.call
  elsif since_ref?
    SinceRef.new(
      base_ref: base_ref
    ).call
  elsif between_refs?
    BetweenRefs.new(
      base_ref: base_ref,
      diff_ref: diff_ref
    ).call
  else
    raise ArgumentError.new('A base ref must be supplied with a diff ref')
  end
end

Private Instance Methods

between_refs?() click to toggle source
# File lib/find_changed_files.rb, line 47
def between_refs?
  base_ref.present? && diff_ref.present?
end
simple_diff?() click to toggle source
# File lib/find_changed_files.rb, line 39
def simple_diff?
  base_ref.blank? && diff_ref.blank?
end
since_ref?() click to toggle source
# File lib/find_changed_files.rb, line 43
def since_ref?
  base_ref.present? && diff_ref.blank?
end