diff options
| author | Jack Nagel | 2014-04-05 22:03:33 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-04-05 22:03:40 -0500 |
| commit | 757c8ade0ba98d0a1c235df77572780b03998228 (patch) | |
| tree | a777af34b90ee741cabd70d0d9ec390c84f59c06 /Library | |
| parent | e008ceb332ddf88a8079d504adebaaead215a4ec (diff) | |
| download | brew-757c8ade0ba98d0a1c235df77572780b03998228.tar.bz2 | |
Simplify tap formula loading
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formulary.rb | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 5f73ebe6a..c57013900 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" |
