Class: Cask::Info
Class Method Summary collapse
- .artifact_info(cask) ⇒ String private
- .desc_info(cask) ⇒ String private
- .get_info(cask) ⇒ String private
- .info(cask) ⇒ void private
- .installation_info(cask) ⇒ String private
- .language_info(cask) ⇒ String? private
- .name_info(cask) ⇒ String private
- .repo_info(cask) ⇒ String? private
- .title_info(cask) ⇒ String private
Class Method Details
.artifact_info(cask) ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
103 104 105 106 107 108 109 110 111 112 |
# File 'cask/info.rb', line 103 def self.artifact_info(cask) artifact_output = ohai_title("Artifacts").dup cask.artifacts.each do |artifact| next unless artifact.respond_to?(:install_phase) next unless DSL::ORDINARY_ARTIFACT_CLASSES.include?(artifact.class) artifact_output << "\n" << artifact.to_s end artifact_output.freeze end |
.desc_info(cask) ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
72 73 74 75 76 77 |
# File 'cask/info.rb', line 72 def self.desc_info(cask) <<~EOS #{ohai_title("Description")} #{cask.desc.nil? ? Formatter.error("None") : cask.desc} EOS end |
.get_info(cask) ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'cask/info.rb', line 9 def self.get_info(cask) require "cask/installer" output = +"#{title_info(cask)}\n" output << "#{Formatter.url(cask.homepage)}\n" if cask.homepage deprecate_disable = DeprecateDisable.(cask) output << "#{deprecate_disable.capitalize}\n" if deprecate_disable output << "#{installation_info(cask)}\n" repo = repo_info(cask) output << "#{repo}\n" if repo output << name_info(cask) output << desc_info(cask) language = language_info(cask) output << language if language output << "#{artifact_info(cask)}\n" caveats = Installer.caveats(cask) output << caveats if caveats output end |
.info(cask) ⇒ void
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
This method returns an undefined value.
30 31 32 33 34 35 |
# File 'cask/info.rb', line 30 def self.info(cask) puts get_info(cask) require "utils/analytics" ::Utils::Analytics.cask_output(cask, args: Homebrew::CLI::Args.new) end |
.installation_info(cask) ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'cask/info.rb', line 45 def self.installation_info(cask) return "Not installed" unless cask.installed? return "No installed version" unless (installed_version = cask.installed_version).present? versioned_staged_path = cask.caskroom_path.join(installed_version) return "Installed\n#{versioned_staged_path} (#{Formatter.error("does not exist")})\n" unless versioned_staged_path.exist? path_details = versioned_staged_path.children.sum(&:disk_usage) tab = Tab.for_cask(cask) info = ["Installed"] info << "#{versioned_staged_path} (#{disk_usage_readable(path_details)})" info << " #{tab}" if tab.tabfile&.exist? info.join("\n") end |
.language_info(cask) ⇒ String?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
80 81 82 83 84 85 86 87 |
# File 'cask/info.rb', line 80 def self.language_info(cask) return if cask.languages.empty? <<~EOS #{ohai_title("Languages")} #{cask.languages.join(", ")} EOS end |
.name_info(cask) ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
64 65 66 67 68 69 |
# File 'cask/info.rb', line 64 def self.name_info(cask) <<~EOS #{ohai_title((cask.name.size > 1) ? "Names" : "Name")} #{cask.name.empty? ? Formatter.error("None") : cask.name.join("\n")} EOS end |
.repo_info(cask) ⇒ String?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
90 91 92 93 94 95 96 97 98 99 100 |
# File 'cask/info.rb', line 90 def self.repo_info(cask) return if cask.tap.nil? url = if cask.tap.custom_remote? && !cask.tap.remote.nil? cask.tap.remote else "#{cask.tap.default_remote}/blob/HEAD/#{cask.tap.relative_cask_path(cask.token)}" end "From: #{Formatter.url(url)}" end |
.title_info(cask) ⇒ String
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
38 39 40 41 42 |
# File 'cask/info.rb', line 38 def self.title_info(cask) title = "#{oh1_title(cask.token)}: #{cask.version}" title += " (auto_updates)" if cask.auto_updates title end |