class Tapioca::RepoIndex

def <<(gem_name)

def <<(gem_name)
  @entries.add(gem_name)
end

def from_hash(hash)

def from_hash(hash)
  hash.each_with_object(RepoIndex.new) do |(name, _), index|
    index << name
  end
end

def from_json(json)

def from_json(json)
  RepoIndex.from_hash(JSON.parse(json))
end

def gems

def gems
  @entries.sort
end

def has_gem?(gem_name)

def has_gem?(gem_name)
  @entries.include?(gem_name)
end

def initialize

def initialize
  @entries = T.let(Set.new, T::Set[String])
end