From 757c8ade0ba98d0a1c235df77572780b03998228 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sat, 5 Apr 2014 22:03:33 -0500 Subject: [PATCH] Simplify tap formula loading --- Library/Homebrew/formulary.rb | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 5f73ebe6ae..c57013900d 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -147,14 +147,19 @@ class Formulary # Loads tapped formulae. class TapLoader < FormulaLoader + attr_reader :tapped_name + def initialize tapped_name - super tapped_name, Pathname.new(tapped_name) + @tapped_name = tapped_name + user, repo, name = tapped_name.split("/", 3).map(&:downcase) + path = Pathname.new("#{HOMEBREW_LIBRARY}/Taps/#{user}-#{repo}/#{name}.rb") + super name, path end def get_formula super - rescue FormulaUnavailableError => e - raise TapFormulaUnavailableError.new(e.name) + rescue FormulaUnavailableError + raise TapFormulaUnavailableError.new(tapped_name) end end @@ -174,22 +179,8 @@ class Formulary return FromUrlLoader.new(ref) when Pathname::BOTTLE_EXTNAME_RX return BottleLoader.new(ref) - end - - if ref =~ HOMEBREW_TAP_FORMULA_REGEX - tap_name = "#$1-#$2".downcase - tapd = Pathname.new("#{HOMEBREW_LIBRARY}/Taps/#{tap_name}") - - if tapd.directory? - tapd.find_formula do |relative_pathname| - path = "#{tapd}/#{relative_pathname}" - if relative_pathname.stem.to_s == $3 - return FromPathLoader.new(path) - end - end - else - return TapLoader.new(ref) - end + when HOMEBREW_TAP_FORMULA_REGEX + return TapLoader.new(ref) end if ref.include?("/") || File.extname(ref) == ".rb"