# File rbs-1.0.4/lib/rbs/repository.rb, line 67
def empty?
versions.empty?
end
# File rbs-1.0.4/lib/rbs/repository.rb, line 57
def find_best_version(version)
return latest_version unless version
if v = version_names.reverse.bsearch {|v| v <= version ? true : false }
versions[v]
else
oldest_version
end
end
# File rbs-1.0.4/lib/rbs/repository.rb, line 52
def latest_version
latest = version_names.last or raise
versions[latest] or raise
end
# File rbs-1.0.4/lib/rbs/repository.rb, line 20
def load!
@versions = {}
versions = @versions or raise
paths.each do |gem_path|
gem_path.each_child(false) do |child|
next unless Gem::Version.correct?(child.to_s)
if version = Gem::Version.create(child.to_s)
unless version.prerelease?
path = gem_path + child
if prev = versions[version]
RBS.logger.info { "Overwriting gem RBS in repository: gem=#{name}, prev_path=#{prev.path}, new_path=#{path}" }
end
versions[version] = VersionPath.new(gem: self, version: version, path: path)
end
end
end
end
end
# File rbs-1.0.4/lib/rbs/repository.rb, line 47
def oldest_version
oldest = version_names.first or raise
versions[oldest] or raise
end