Share common logic.

This commit is contained in:
Markus Reiter 2018-08-27 17:45:16 +02:00
parent ccf396887a
commit 443111896e

View File

@ -11,6 +11,18 @@ module UpdateMigrator
ohai "Migrating cache entries..." ohai "Migrating cache entries..."
cache_entries = lambda do |path|
if path.directory?
path.children
.reject(&:symlink?)
.select(&:file?)
.map { |child| child.basename.to_s.sub(/\-\-.*/, "") }
.uniq
else
[]
end
end
load_formula = lambda do |formula| load_formula = lambda do |formula|
begin begin
Formula[formula] Formula[formula]
@ -27,32 +39,18 @@ module UpdateMigrator
end end
end end
formula_downloaders = if HOMEBREW_CACHE.directory? formula_downloaders =
HOMEBREW_CACHE.children cache_entries.call(HOMEBREW_CACHE)
.reject(&:symlink?) .map(&load_formula)
.select(&:file?) .compact
.map { |child| child.basename.to_s.sub(/\-\-.*/, "") } .flat_map { |formula| formula_resources(formula) }
.uniq .map { |resource| [resource.downloader, resource.download_name, resource.version] }
.map(&load_formula)
.compact
.flat_map { |formula| formula_resources(formula) }
.map { |resource| [resource.downloader, resource.download_name, resource.version] }
else
[]
end
cask_downloaders = if (HOMEBREW_CACHE/"Cask").directory? cask_downloaders =
(HOMEBREW_CACHE/"Cask").children cache_entries.call(HOMEBREW_CACHE/"Cask")
.reject(&:symlink?) .map(&load_cask)
.select(&:file?) .compact
.map { |child| child.basename.to_s.sub(/\-\-.*/, "") } .map { |cask| [Hbc::Download.new(cask).downloader, cask.token, cask.version] }
.uniq
.map(&load_cask)
.compact
.map { |cask| [Hbc::Download.new(cask).downloader, cask.token, cask.version] }
else
[]
end
downloaders = formula_downloaders + cask_downloaders downloaders = formula_downloaders + cask_downloaders