brew-leaves: use Formula.installed

This commit is contained in:
Jack Nagel 2013-05-19 18:43:54 -05:00
parent ebedd3d57f
commit 26b301c348

View File

@ -7,8 +7,6 @@ require 'formula'
def get_used_by(formulae)
used_by = {}
formulae.each do |f|
next if f.nil? or f.deps.nil?
f.deps.each do |dep|
_deps = used_by[dep.to_s] || []
_deps << f.name unless _deps.include? f.name
@ -19,18 +17,11 @@ def get_used_by(formulae)
return used_by
end
installed = HOMEBREW_CELLAR.children.select { |pn| pn.directory? }.collect { |pn| pn.basename.to_s }
installed_formulae = installed.collect do |pn|
begin
Formula.factory(pn)
rescue FormulaUnavailableError
# Don't complain about directories from DIY installs
end
end
installed = Formula.installed
names = installed.map(&:name)
deps_graph = get_used_by(installed)
deps_graph = get_used_by(installed_formulae)
installed.each do |name|
names.each do |name|
deps = deps_graph[name] || []
puts name unless deps.any? { |dep| installed.include? dep.to_s }
puts name unless deps.any? { |dep| names.include? dep.to_s }
end