in lib/twitter_cldr/utils/range_set.rb [32:62]
def rangify(list, compress = false)
last_item = nil
list.sort.inject([]) do |ret, item|
if last_item
diff = item - last_item
if diff > 0
if diff == 1
ret[-1] << item
else
ret << [item]
end
last_item = item
end
else
ret << [item]
last_item = item
end
ret
end.map do |sub_list|
if compress && sub_list.size == 1
sub_list.first
else
sub_list.first..sub_list.last
end
end
end