Sha256: ccf0faf2d98b6adc48ba625c08f8d565fb6a28c5419c4beb5d231c036019304d

Contents?: true

Size: 442 Bytes

Versions: 2

Compression:

Stored size: 442 Bytes

Contents

# frozen_string_literal: true

require "rfix/git_file"

class Rfix::TrackedFile < Rfix::GitFile
  def refresh!
    @ranges = git("--no-pager", "diff", *params, "#{ref}...HEAD", path)
              .grep(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,(\d+))? @@/) do
      Regexp.last_match(1).to_i...(Regexp.last_match(1).to_i + (Regexp.last_match(2) || 1).to_i)
    end
  end

  def include?(line)
    @ranges.any? { |range| range.include?(line) }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rfix-1.0.15.pre.116 lib/rfix/tracked_file.rb
rfix-1.0.15 lib/rfix/tracked_file.rb