module Mutant::Repository::Diff::Ranges
def self.mk_range(start, offset)
def self.mk_range(start, offset) start = Integer(start) ::Range.new(start, start + (offset ? Integer(offset).pred : 0)) end
def self.parse(diff)
-
(Set
->)
Parameters:
-
(
String
) --
def self.parse(diff) diff.lines.flat_map(&method(:parse_ranges)).to_set end
def self.parse_ranges(line)
def self.parse_ranges(line) match = REGEXP.match(line) or return EMPTY_ARRAY match .captures .each_slice(2) .map { |start, offset| mk_range(start, offset) } .reject { |range| range.end < range.begin } end