From 26b301c3488ba3b63ee09f479f3240b3a6b223d4 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sun, 19 May 2013 18:43:54 -0500 Subject: [PATCH] brew-leaves: use Formula.installed --- Library/Contributions/cmd/brew-leaves.rb | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/Library/Contributions/cmd/brew-leaves.rb b/Library/Contributions/cmd/brew-leaves.rb index 3da55c019e..38d023cf76 100755 --- a/Library/Contributions/cmd/brew-leaves.rb +++ b/Library/Contributions/cmd/brew-leaves.rb @@ -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