class GitDiff::Hunk

Attributes

lines[R]
range_info[R]

Public Class Methods

new(range_info) click to toggle source
# File lib/git_diff/hunk.rb, line 9
def initialize(range_info)
  @range_info = range_info
  @lines = []
end

Public Instance Methods

<<(string) click to toggle source
# File lib/git_diff/hunk.rb, line 14
def <<(string)
  Line.from_string(string).tap do |line|
    line_number_calculation.increment(line)
    lines << line
  end
end
stats() click to toggle source
# File lib/git_diff/hunk.rb, line 21
def stats
  @stats ||= Stats.total(collector)
end

Private Instance Methods

collector() click to toggle source
# File lib/git_diff/hunk.rb, line 27
def collector
  GitDiff::StatsCollector::Hunk.new(self)
end
initial_line_number() click to toggle source
# File lib/git_diff/hunk.rb, line 31
def initial_line_number
  @initial_line_number ||= LineNumber.new(range_info.original_range.start, range_info.new_range.start)
end
line_number_calculation() click to toggle source
# File lib/git_diff/hunk.rb, line 35
def line_number_calculation
  @line_number_calculation ||= LineNumberCalculation.new(initial_line_number)
end