class Bundler::CompactIndexClient::Cache

def versions

def versions
  versions_by_name = Hash.new {|hash, key| hash[key] = [] }
  info_checksums_by_name = {}
  lines(versions_path).each do |line|
    name, versions_string, info_checksum = line.split(" ", 3)
    info_checksums_by_name[name] = info_checksum || ""
    versions_string.split(",") do |version|
      delete = version.delete_prefix!("-")
      version = version.split("-", 2).unshift(name)
      if delete
        versions_by_name[name].delete(version)
      else
        versions_by_name[name] << version
      end
    end
  end
  [versions_by_name, info_checksums_by_name]
end