From 5b75c73df6ff868136831084b5e016f125e8a981 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sat, 29 Jun 2013 21:35:57 -0500 Subject: [PATCH] Do this in a saner way --- Library/Homebrew/cmd/doctor.rb | 6 +++++- Library/Homebrew/formula.rb | 8 ++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 480af7b7a2..49c9a158c9 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -1023,7 +1023,11 @@ def check_for_unlinked_but_not_keg_only if not rack.directory? true elsif not (HOMEBREW_REPOSITORY/"Library/LinkedKegs"/rack.basename).directory? - Formula.factory(rack.basename.to_s).keg_only? rescue nil + begin + Formula.factory(rack.basename.to_s).keg_only? + rescue FormulaUnavailableError + false + end else true end diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index dbd31fadef..0135726acd 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -350,8 +350,12 @@ class Formula end def self.installed - # `rescue nil` is here to skip kegs with no corresponding formulae - HOMEBREW_CELLAR.children.map{ |rack| factory(rack.basename.to_s) rescue nil }.compact + HOMEBREW_CELLAR.children.map do |rack| + begin + factory(rack.basename.to_s) + rescue FormulaUnavailableError + end + end.compact end def self.aliases