class RBS::Collection::Cleaner
def clean
def clean lock.repo_path.glob('*/*') do |dir| *_, gem_name, version = dir.to_s.split('/') gem_name or raise version or raise next if needed? gem_name, version case when dir.symlink? dir.unlink when dir.directory? FileUtils.remove_entry_secure(dir.to_s) else raise end end end
def initialize(lockfile_path:)
def initialize(lockfile_path:) @lock = Config.from_path(lockfile_path) end
def needed?(gem_name, version)
def needed?(gem_name, version) gem = lock.gem(gem_name) return false unless gem gem['version'] == version end