Класс: 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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
190 191 192 193 | # File 'utils/bottles.rb', line 190 def initialize(system:, arch:) @system = system @arch = arch end |
Подробное описание атрибутов экземпляра
#arch ⇒ Symbol (только для чтения)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
159 160 161 | # File 'utils/bottles.rb', line 159 def arch @arch end |
#system ⇒ Symbol (только для чтения)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
159 160 161 | # File 'utils/bottles.rb', line 159 def system @system end |
Подробное описание методов класса
.from_arg(arg, os:, arch:) ⇒ T.attached_class
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
253 254 255 | # File 'utils/bottles.rb', line 253 def linux? system == :linux end |
#macos? ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
258 259 260 | # File 'utils/bottles.rb', line 258 def macos? MacOSVersion::SYMBOLS.key?(system) end |
#standardized_arch ⇒ Symbol
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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