module Hoe::Deveiate

def group_line_matches( tuples )

and lines extracted from the given [filename, linenumber, line] +tuples+.
Return a Hash, keyed by filename, whose values are tuples of Ranges
def group_line_matches( tuples )
	by_file = tuples.group_by {|tuple| tuple.first }
	return by_file.each_with_object({}) do |(filename, lines), hash|
		last_linenum = 0
		linegroups = lines.slice_before do |filename, linenum|
			gap = linenum > last_linenum + 1
			last_linenum = linenum
			gap
		end
		hash[ filename ] = linegroups.map do |group|
			rng = group.first[1] .. group.last[1]
			grouplines = group.transpose.last
			[ rng, grouplines ]
		end
	end
end