Класс: FormulaInfo Приватный
- Наследуется от:
- Object
- Object
- FormulaInfo
- Определён в:
- formula_info.rb
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого класса, так как он может быть удалён или изменён без предупреждения.
Информация о формуле, полученная из внешнего вызова brew info --json.
Краткое описание атрибутов экземпляра свернуть
- #info ⇒ Hash{String => T.untyped} приватный
Вся структура info, разобранная из JSON.
Краткое описание методов класса свернуть
- .force_utf8!(str) ⇒ void приватный
- .lookup(name) ⇒ FormulaInfo? приватный
Ищет формулу на диске и считывает информацию о ней.
Краткое описание методов экземпляра свернуть
- #any_bottle_tag ⇒ String? приватный
- #bottle_info(my_bottle_tag = Utils::Bottles.tag) ⇒ Hash{String => String}? приватный
- #bottle_info_any ⇒ Hash{String => String}? приватный
- #bottle_tags ⇒ Array<String> приватный
- #initialize(info) ⇒ void конструктор приватный
- #pkg_version(spec_type = :stable) ⇒ PkgVersion приватный
- #revision ⇒ Integer приватный
- #version(spec_type) ⇒ Version приватный
Подробное описание конструкторов
#initialize(info) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
11 12 13 | # File 'formula_info.rb', line 11 def initialize(info) @info = info end |
Подробное описание атрибутов экземпляра
#info ⇒ Hash{String => T.untyped}
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
Вся структура info, разобранная из JSON.
8 9 10 | # File 'formula_info.rb', line 8 def info @info end |
Подробное описание методов класса
.force_utf8!(str) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
82 83 84 | # File 'formula_info.rb', line 82 def self.force_utf8!(str) str.force_encoding("UTF-8") if str.respond_to?(:force_encoding) end |
.lookup(name) ⇒ FormulaInfo?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
Ищет формулу на диске и считывает информацию о ней. Возвращает nil, если формула отсутствует или произошла ошибка при её чтении.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # File 'formula_info.rb', line 18 def self.lookup(name) json = Utils.popen_read( *HOMEBREW_RUBY_EXEC_ARGS, HOMEBREW_LIBRARY_PATH/"brew.rb", "info", "--json=v1", name, ) return unless $CHILD_STATUS.success? force_utf8!(json) FormulaInfo.new(JSON.parse(json)[0]) end |
Подробное описание методов экземпляра
#any_bottle_tag ⇒ String?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
59 60 61 62 63 | # File 'formula_info.rb', line 59 def any_bottle_tag tag = Utils::Bottles.tag.to_s # Prefer native bottles as a convenience for download caching .include?(tag) ? tag : .first end |
#bottle_info(my_bottle_tag = Utils::Bottles.tag) ⇒ Hash{String => String}?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
43 44 45 46 47 48 49 50 51 | # File 'formula_info.rb', line 43 def bottle_info(my_bottle_tag = Utils::Bottles.tag) tag_s = my_bottle_tag.to_s return unless info["bottle"]["stable"] btl_info = info["bottle"]["stable"]["files"][tag_s] return unless btl_info { "url" => btl_info["url"], "sha256" => btl_info["sha256"] } end |
#bottle_info_any ⇒ Hash{String => String}?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
54 55 56 | # File 'formula_info.rb', line 54 def bottle_info_any bottle_info(any_bottle_tag) end |
#bottle_tags ⇒ Array<String>
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
34 35 36 37 38 | # File 'formula_info.rb', line 34 def return [] unless info["bottle"]["stable"] info["bottle"]["stable"]["files"].keys end |
#pkg_version(spec_type = :stable) ⇒ PkgVersion
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
72 73 74 | # File 'formula_info.rb', line 72 def pkg_version(spec_type = :stable) PkgVersion.new(version(spec_type), revision) end |
#revision ⇒ Integer
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
77 78 79 | # File 'formula_info.rb', line 77 def revision info["revision"] end |
#version(spec_type) ⇒ Version
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
66 67 68 69 | # File 'formula_info.rb', line 66 def version(spec_type) version_str = info["versions"][spec_type.to_s] Version.new(version_str) end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/FormulaInfo.html