Класс: CPAN::Package Закрытый
- Наследует:
- Object
- Object
- CPAN::Package
- Определён в:
- utils/cpan.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого класса, так как он может быть удалён или изменён без предупреждения.
Представляет пакет Perl из существующего ресурса.
Краткое описание методов экземпляра свернуть
- #current_version ⇒ String? закрытый
- #initialize(resource_name, resource_url) ⇒ void конструктор закрытый
- #latest_cpan_info ⇒ Array<String>? закрытый
Получает сведения о последнем выпуске из API MetaCPAN.
- #name ⇒ String закрытый
- #valid_cpan_package? ⇒ Boolean закрытый
Подробное описание конструкторов
#initialize(resource_name, resource_url) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
17 18 19 20 21 22 | # File 'utils/cpan.rb', line 17 def initialize(resource_name, resource_url) @cpan_info = T.let(nil, T.nilable(T::Array[String])) @resource_name = resource_name @resource_url = resource_url @is_cpan_url = T.let(resource_url.start_with?(METACPAN_URL_PREFIX), T::Boolean) end |
Подробное описание методов экземпляра
#current_version ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
30 31 32 33 | # File 'utils/cpan.rb', line 30 def current_version extract_version_from_url if @current_version.blank? @current_version end |
#latest_cpan_info ⇒ Array<String>?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
Получает сведения о последнем выпуске из API MetaCPAN.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | # File 'utils/cpan.rb', line 42 def latest_cpan_info return @cpan_info if @cpan_info.present? return unless valid_cpan_package? = "https://fastapi.metacpan.org/v1/download_url/#{@resource_name}" result = Utils::Curl.curl_output(, "--location", "--fail") return unless result.status.success? begin json = JSON.parse(result.stdout) rescue JSON::ParserError return end download_url = json["download_url"] return unless download_url checksum = json["checksum_sha256"] return unless checksum @cpan_info = [@resource_name, download_url, checksum, json["version"]] end |
#name ⇒ String
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
25 26 27 | # File 'utils/cpan.rb', line 25 def name @resource_name end |
#valid_cpan_package? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
36 37 38 | # File 'utils/cpan.rb', line 36 def valid_cpan_package? @is_cpan_url end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/CPAN/Package.html