class Grit::Diff

Attributes

repo[R]

Public Instance Methods

added() click to toggle source
# File lib/grit/ext/diff.rb, line 22
def added
  hunks_lines {|h| h.added }
end
full_a_path() click to toggle source
# File lib/grit/ext/diff.rb, line 14
def full_a_path
  full(a_path)
end
full_b_path() click to toggle source
# File lib/grit/ext/diff.rb, line 18
def full_b_path
  full(b_path)
end
hunks() click to toggle source
# File lib/grit/ext/diff.rb, line 5
def hunks
  header_lines.each_with_index
              .map { |header, index|
    next_header = header_lines[index + 1]
    next_line_number = next_header ? next_header[1] : lines.count
    DiffHunk.new(header[0], lines[header[1], next_line_number - 1])
  }
end
removed() click to toggle source
# File lib/grit/ext/diff.rb, line 26
def removed
  hunks_lines {|h| h.removed }
end

Protected Instance Methods

full(path) click to toggle source
# File lib/grit/ext/diff.rb, line 36
def full(path)
  File.join(repo.working_dir, path)
end
header_lines() click to toggle source
# File lib/grit/ext/diff.rb, line 44
def header_lines
  @header_lines ||= lines.each_with_index
       .find_all { |line, index| line.start_with?('@@') }
       .map { |line, index|
         header = DiffHeader.new(line)
         [header, index]
       }
end
hunks_lines() { |h| ... } click to toggle source
# File lib/grit/ext/diff.rb, line 32
def hunks_lines
  hunks.collect { |h| yield(h) }.flatten
end
lines() click to toggle source
# File lib/grit/ext/diff.rb, line 40
def lines
  @lines ||= diff.split("\n")
end