Модуль: SystemConfig Приватный
- Расширяется модулем:
- SystemCommand::Mixin
- Определён в:
- system_config.rb
Обзор
Этот модуль является частью приватного API. Этот модуль можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.
Вспомогательный модуль для получения сведений о конфигурации системы.
Краткое описание методов класса свернуть
- .branch ⇒ String приватный
- .clang ⇒ Version приватный
- .clang_build ⇒ Version приватный
- .core_tap_config(out = $stdout) ⇒ void приватный
- .describe_clang ⇒ String приватный
- .describe_curl ⇒ String приватный
- .describe_git ⇒ String приватный
- .describe_homebrew_ruby ⇒ String приватный
- .dump_tap_config(tap, out = $stdout) ⇒ void приватный
- .dump_verbose_config(out = $stdout) ⇒ void приватный
- .hardware ⇒ String? приватный
- .head ⇒ String приватный
- .homebrew_config(out = $stdout) ⇒ void приватный
- .homebrew_env_config(out = $stdout) ⇒ void приватный
- .homebrew_repo ⇒ GitRepository приватный
- .host_software_config(out = $stdout) ⇒ void приватный
- .initialize ⇒ void приватный
- .kernel ⇒ String приватный
- .last_commit ⇒ String приватный
- .origin ⇒ String приватный
- .windows_version ⇒ String? приватный
Методы, включённые из SystemCommand::Mixin
system_command, system_command!
Подробное описание методов класса
.branch ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
46 47 48 | # File 'system_config.rb', line 46 def branch homebrew_repo.branch_name || "(none)" end |
.clang ⇒ Version
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
23 24 25 26 27 28 29 | # File 'system_config.rb', line 23 def clang @clang ||= if DevelopmentTools.installed? DevelopmentTools.clang_version else Version::NULL end end |
.clang_build ⇒ Version
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
32 33 34 35 36 37 38 | # File 'system_config.rb', line 32 def clang_build @clang_build ||= if DevelopmentTools.installed? DevelopmentTools.clang_build_version else Version::NULL end end |
.core_tap_config(out = $stdout) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
145 146 147 | # File 'system_config.rb', line 145 def core_tap_config(out = $stdout) dump_tap_config(CoreTap.instance, out) end |
.describe_clang ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
66 67 68 69 70 71 72 73 74 | # File 'system_config.rb', line 66 def describe_clang return "N/A" if clang.null? if clang_build.null? clang.to_s else "#{clang} build #{clang_build}" end end |
.describe_curl ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
104 105 106 107 108 109 110 111 112 113 | # File 'system_config.rb', line 104 def describe_curl out = system_command(Utils::Curl.curl_executable, args: ["--version"], verbose: false).stdout match_data = /^curl (?<curl_version>[\d.]+)/.match(out) if match_data "#{match_data[:curl_version]} => #{Utils::Curl.curl_path}" else "N/A" end end |
.describe_git ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
97 98 99 100 101 | # File 'system_config.rb', line 97 def describe_git return "N/A" unless Utils::Git.available? "#{Utils::Git.version} => #{Utils::Git.path}" end |
.describe_homebrew_ruby ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
77 78 79 | # File 'system_config.rb', line 77 def describe_homebrew_ruby "#{RUBY_VERSION} => #{RUBY_PATH}" end |
.dump_tap_config(tap, out = $stdout) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | # File 'system_config.rb', line 116 def dump_tap_config(tap, out = $stdout) case tap when CoreTap tap_name = "Core tap" json_file_name = "formula.jws.json" when CoreCaskTap tap_name = "Core cask tap" json_file_name = "cask.jws.json" else raise ArgumentError, "Unknown tap: #{tap}" end if tap.installed? out.puts "#{tap_name} origin: #{tap.remote}" if tap.remote != tap.default_remote out.puts "#{tap_name} HEAD: #{tap.git_head || "(none)"}" out.puts "#{tap_name} last commit: #{tap.git_last_commit || "never"}" default_branches = %w[mainmaster].freeze out.puts "#{tap_name} branch: #{tap.git_branch || "(none)"}" if default_branches.exclude?(tap.git_branch) end json_file = Homebrew::API::HOMEBREW_CACHE_API/json_file_name if json_file.exist? out.puts "#{tap_name} JSON: #{json_file.mtime.utc.strftime("%d %b %H:%M UTC")}" elsif !tap.installed? out.puts "#{tap_name}: N/A" end end |
.dump_verbose_config(out = $stdout) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
197 198 199 200 201 202 203 | # File 'system_config.rb', line 197 def dump_verbose_config(out = $stdout) homebrew_config(out) core_tap_config(out) homebrew_env_config(out) out.puts hardware if hardware host_software_config(out) end |
.hardware ⇒ String?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
82 83 84 85 86 | # File 'system_config.rb', line 82 def hardware return if Hardware::CPU.type == :dunno "CPU: #{Hardware.cores_as_words}-core #{Hardware::CPU.bits}-bit #{Hardware::CPU.family}" end |
.head ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
51 52 53 | # File 'system_config.rb', line 51 def head homebrew_repo.head_ref || "(none)" end |
.homebrew_config(out = $stdout) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
150 151 152 153 154 155 156 | # File 'system_config.rb', line 150 def homebrew_config(out = $stdout) out.puts "HOMEBREW_VERSION: #{HOMEBREW_VERSION}" out.puts "ORIGIN: #{origin}" out.puts "HEAD: #{head}" out.puts "Last commit: #{last_commit}" out.puts "Branch: #{branch}" end |
.homebrew_env_config(out = $stdout) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | # File 'system_config.rb', line 159 def homebrew_env_config(out = $stdout) out.puts "HOMEBREW_PREFIX: #{HOMEBREW_PREFIX}" repository = HOMEBREW_REPOSITORY cellar = HOMEBREW_CELLAR out.puts "HOMEBREW_REPOSITORY: #{repository}" if repository.to_s != Homebrew::DEFAULT_REPOSITORY.to_s out.puts "HOMEBREW_CELLAR: #{cellar}" if cellar.to_s != Homebrew::DEFAULT_CELLAR.to_s Homebrew::EnvConfig::ENVS.each do |env, hash| next if Homebrew::EnvConfig.hidden?(hash) && !ENV.key?(env.to_s) method_name = Homebrew::EnvConfig.env_method_name(env, hash) if hash[:boolean] out.puts "#{env}: set" if Homebrew::EnvConfig.public_send(method_name) next end value = Homebrew::EnvConfig.public_send(method_name) next unless value next if (default = hash[:default].presence) && value.to_s == default.to_s if ENV.sensitive?(env) out.puts "#{env}: set" else out.puts "#{env}: #{value}" end end out.puts "Homebrew Ruby: #{describe_homebrew_ruby}" end |
.homebrew_repo ⇒ GitRepository
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
41 42 43 | # File 'system_config.rb', line 41 def homebrew_repo GitRepository.new(HOMEBREW_REPOSITORY) end |
.host_software_config(out = $stdout) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
190 191 192 193 194 | # File 'system_config.rb', line 190 def host_software_config(out = $stdout) out.puts "Clang: #{describe_clang}" out.puts "Git: #{describe_git}" out.puts "Curl: #{describe_curl}" end |
.initialize ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
17 18 19 20 | # File 'system_config.rb', line 17 def initialize @clang = T.let(nil, T.nilable(Version)) @clang_build = T.let(nil, T.nilable(Version)) end |
.kernel ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
89 90 91 | # File 'system_config.rb', line 89 def kernel `uname -m`.chomp end |
.last_commit ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
56 57 58 | # File 'system_config.rb', line 56 def last_commit homebrew_repo.last_committed || "never" end |
.origin ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
61 62 63 | # File 'system_config.rb', line 61 def origin homebrew_repo.origin_url || "(none)" end |
.windows_version ⇒ String?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
94 | # File 'system_config.rb', line 94 def windows_version; end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/SystemConfig.html