class Policial::Patch
Public: a chunk of changed code in a commit file.
Constants
- MODIFIED_LINE
- NOT_REMOVED_LINE
- RANGE_INFORMATION_LINE
Public Class Methods
new(body)
click to toggle source
# File lib/policial/patch.rb, line 10 def initialize(body) @body = body || '' end
Public Instance Methods
changed_lines()
click to toggle source
# File lib/policial/patch.rb, line 14 def changed_lines line_number = 0 @body.lines.each_with_index.with_object([]) do |(line, patch_pos), lines| line_number = parse_line(line, line_number, patch_pos, lines) || line_number end end
Private Instance Methods
parse_line(line_content, line_number, patch_position, lines)
click to toggle source
# File lib/policial/patch.rb, line 25 def parse_line(line_content, line_number, patch_position, lines) case line_content when RANGE_INFORMATION_LINE Regexp.last_match[:line_number].to_i when MODIFIED_LINE lines << Line.new(line_number, line_content, patch_position) line_number + 1 when NOT_REMOVED_LINE line_number + 1 end end