Spec-Zone.ru › Homebrew

Модуль: 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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


46
47
48
# File 'system_config.rb', line 46

def branch
  homebrew_repo.branch_name || "(none)"
end

.clang ⇒ Version

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Version)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Version)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • out (File, StringIO, IO) (по умолчанию: $stdout)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • tap (Tap)
  • out (File, StringIO, IO) (по умолчанию: $stdout)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • out (File, StringIO, IO) (по умолчанию: $stdout)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String, nil)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • out (File, StringIO, IO) (по умолчанию: $stdout)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • out (File, StringIO, IO) (по умолчанию: $stdout)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (GitRepository)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • out (File, StringIO, IO) (по умолчанию: $stdout)


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. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


89
90
91
# File 'system_config.rb', line 89

def kernel
  `uname -m`.chomp
end

.last_commit ⇒ String

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


56
57
58
# File 'system_config.rb', line 56

def last_commit
  homebrew_repo.last_committed || "never"
end

.origin ⇒ String

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


61
62
63
# File 'system_config.rb', line 61

def origin
  homebrew_repo.origin_url || "(none)"
end

.windows_version ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String, nil)


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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API