Spec-Zone.ru › Homebrew

Класс: Utils::Bottles::Tag Приватный

Наследует:
Object
  • Object
  • Utils::Bottles::Tag
показать все
Определён в:
utils/bottles.rb

Обзор

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

Обозначает архитектуру и ОС бутылки.

Сводка атрибутов экземпляра свернуть

  • #arch ⇒ Symbol только для чтения приватный
  • #system ⇒ Symbol только для чтения приватный

Сводка методов класса свернуть

  • .from_arg(arg, os:, arch:) ⇒ T.attached_class приватный
  • .from_symbol(value) ⇒ T.attached_class приватный

Сводка методов экземпляра свернуть

  • #default_cellar ⇒ String приватный
  • #default_prefix ⇒ String приватный
  • #initialize(system:, arch:) ⇒ void конструктор приватный
  • #linux? ⇒ Boolean приватный
  • #macos? ⇒ Boolean приватный
  • #standardized_arch ⇒ Symbol приватный
  • #to_macos_version ⇒ MacOSVersion приватный
  • #to_sym ⇒ Symbol приватный
  • #to_unstandardized_sym ⇒ Symbol приватный
  • #valid_combination? ⇒ Boolean приватный

Подробное описание конструкторов

#initialize(system:, arch:) ⇒ void

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

Параметры:

  • system (Symbol)
  • arch (Symbol)


190
191
192
193
# File 'utils/bottles.rb', line 190

def initialize(system:, arch:)
  @system = system
  @arch = arch
end

Подробное описание атрибутов экземпляра

#arch ⇒ Symbol (только для чтения)

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

Возвращает:

  • (Symbol)


159
160
161
# File 'utils/bottles.rb', line 159

def arch
  @arch
end

#system ⇒ Symbol (только для чтения)

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

Возвращает:

  • (Symbol)


159
160
161
# File 'utils/bottles.rb', line 159

def system
  @system
end

Подробное описание методов класса

.from_arg(arg, os:, arch:) ⇒ T.attached_class

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

Параметры:

  • arg (Symbol, nil)
  • os (Symbol)
  • arch (Symbol)

Возвращает:

  • (T.attached_class)


181
182
183
184
185
186
187
# File 'utils/bottles.rb', line 181

def self.from_arg(arg, os:, arch:)
  if arg
    from_symbol(arg)
  else
    new(system: os, arch:)
  end
end

.from_symbol(value) ⇒ T.attached_class

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

Параметры:

  • value (Symbol)

Возвращает:

  • (T.attached_class)

Вызывает исключение:

  • (ArgumentError)


162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# File 'utils/bottles.rb', line 162

def self.from_symbol(value)
  return new(system: :all, arch: :all) if value == :all

  @all_archs_regex ||= T.let(begin
    all_archs = Hardware::CPU::ALL_ARCHS.map(&:to_s)
    /
      ^((?<arch>#{Regexp.union(all_archs)})_)?
      (?<system>[\w.]+)$
    /x
  end, T.nilable(Regexp))
  match = @all_archs_regex.match(value.to_s)
  raise ArgumentError, "Invalid bottle tag symbol" unless match

  system = T.must(match[:system]).to_sym
  arch = match[:arch]&.to_sym || :x86_64
  new(system:, arch:)
end

Подробное описание методов экземпляра

#default_cellar ⇒ String

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

Возвращает:

  • (String)


283
284
285
286
287
288
289
290
291
# File 'utils/bottles.rb', line 283

def default_cellar
  if linux?
    Homebrew::DEFAULT_LINUX_CELLAR
  elsif standardized_arch == :arm64
    Homebrew::DEFAULT_MACOS_ARM_CELLAR
  else
    Homebrew::DEFAULT_MACOS_CELLAR
  end
end

#default_prefix ⇒ String

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

Возвращает:

  • (String)


272
273
274
275
276
277
278
279
280
# File 'utils/bottles.rb', line 272

def default_prefix
  if linux?
    T.must(HOMEBREW_LINUX_DEFAULT_PREFIX)
  elsif standardized_arch == :arm64
    T.must(HOMEBREW_MACOS_ARM_DEFAULT_PREFIX)
  else
    HOMEBREW_DEFAULT_PREFIX
  end
end

#linux? ⇒ Boolean

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

Возвращает:

  • (Boolean)


253
254
255
# File 'utils/bottles.rb', line 253

def linux?
  system == :linux
end

#macos? ⇒ Boolean

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

Возвращает:

  • (Boolean)


258
259
260
# File 'utils/bottles.rb', line 258

def macos?
  MacOSVersion::SYMBOLS.key?(system)
end

#standardized_arch ⇒ Symbol

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

Возвращает:

  • (Symbol)


221
222
223
224
225
226
# File 'utils/bottles.rb', line 221

def standardized_arch
  return :x86_64 if [:x86_64, :intel].include? arch
  return :arm64 if [:arm64, :arm, :aarch64].include? arch

  arch
end

#to_macos_version ⇒ MacOSVersion

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

Возвращает:

  • (MacOSVersion)


248
249
250
# File 'utils/bottles.rb', line 248

def to_macos_version
  @to_macos_version ||= T.let(MacOSVersion.from_symbol(system), T.nilable(MacOSVersion))
end

#to_sym ⇒ Symbol

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

Возвращает:

  • (Symbol)


229
230
231
# File 'utils/bottles.rb', line 229

def to_sym
  arch_to_symbol(standardized_arch)
end

#to_unstandardized_sym ⇒ Symbol

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

Возвращает:

  • (Symbol)


239
240
241
242
243
244
245
# File 'utils/bottles.rb', line 239

def to_unstandardized_sym
  # Never allow these generic names
  return to_sym if [:intel, :arm].include? arch

  # Backwards compatibility with older bottle names
  arch_to_symbol(arch)
end

#valid_combination? ⇒ Boolean

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

Возвращает:

  • (Boolean)


263
264
265
266
267
268
269
# File 'utils/bottles.rb', line 263

def valid_combination?
  return true unless [:arm64, :arm, :aarch64].include? arch
  return true unless macos?

  # Big Sur is the first version of macOS that runs on ARM
  to_macos_version >= :big_sur
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Utils/Bottles/Tag.html

Spec-Zone.ru

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