From b05acaaece85dbd6f4a4043bde99c6b0839e7694 Mon Sep 17 00:00:00 2001 From: William Ma Date: Mon, 10 Aug 2020 12:23:45 -0400 Subject: [PATCH] home: Use convenience methods for loading formulae and casks --- Library/Homebrew/cmd/home.rb | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/Library/Homebrew/cmd/home.rb b/Library/Homebrew/cmd/home.rb index 8b37d3810c..318c7ffb02 100644 --- a/Library/Homebrew/cmd/home.rb +++ b/Library/Homebrew/cmd/home.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true require "cli/parser" -require "cask/cask_loader" -require "cask/exceptions" module Homebrew module_function @@ -23,21 +21,22 @@ module Homebrew if args.no_named? exec_browser HOMEBREW_WWW + return + end + + homepages = args.formulae_and_casks.map do |formula_or_cask| + puts "Opening homepage for #{name_of(formula_or_cask)}" + formula_or_cask.homepage + end + + exec_browser(*homepages) + end + + def name_of(formula_or_cask) + if formula_or_cask.is_a? Formula + "Formula #{formula_or_cask.name}" else - homepages = args.named.map do |name| - f = Formulary.factory(name) - puts "Opening homepage for formula #{name}" - f.homepage - rescue FormulaUnavailableError - begin - c = Cask::CaskLoader.load(name) - puts "Opening homepage for cask #{name}" - c.homepage - rescue Cask::CaskUnavailableError - odie "No available formula or cask with the name \"#{name}\"" - end - end - exec_browser(*homepages) + "Cask #{formula_or_cask.token}" end end end