formula: use installed_prefixes/installed_kegs

Closes Homebrew/homebrew#46463.
This commit is contained in:
Xu Cheng 2015-11-29 15:22:22 +08:00
parent 6273d464ee
commit 0686ebfcc0

View File

@ -391,7 +391,7 @@ class Formula
# @private
def any_version_installed?
require "tab"
rack.directory? && rack.subdirs.any? { |keg| (keg/Tab::FILENAME).file? }
installed_prefixes.any? { |keg| (keg/Tab::FILENAME).file? }
end
# @private
@ -950,8 +950,7 @@ class Formula
raise Migrator::MigrationNeededError.new(self)
end
rack.subdirs.each do |keg_dir|
keg = Keg.new keg_dir
installed_kegs.each do |keg|
version = keg.version
all_versions << version
older_version = pkg_version <= version
@ -1297,22 +1296,19 @@ class Formula
hsh["bottle"][spec_sym] = bottle_info
end
if rack.directory?
rack.subdirs.each do |keg_path|
keg = Keg.new keg_path
tab = Tab.for_keg keg_path
installed_kegs.each do |keg|
tab = Tab.for_keg keg
hsh["installed"] << {
"version" => keg.version.to_s,
"used_options" => tab.used_options.as_flags,
"built_as_bottle" => tab.built_bottle,
"poured_from_bottle" => tab.poured_from_bottle
}
end
hsh["installed"] = hsh["installed"].sort_by { |i| Version.new(i["version"]) }
hsh["installed"] << {
"version" => keg.version.to_s,
"used_options" => tab.used_options.as_flags,
"built_as_bottle" => tab.built_bottle,
"poured_from_bottle" => tab.poured_from_bottle
}
end
hsh["installed"] = hsh["installed"].sort_by { |i| Version.new(i["version"]) }
hsh
end