Spec-Zone.ru › Homebrew

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

Параметры:

  • resource_name (String)
  • resource_url (String)


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

Возвращает:

  • (String, nil)


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.

Возвращает:

  • (Array<String>, nil)


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?

  metadata_url = "https://fastapi.metacpan.org/v1/download_url/#{@resource_name}"
  result = Utils::Curl.curl_output(metadata_url, "--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. Третьим сторонам по возможности следует избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


25
26
27
# File 'utils/cpan.rb', line 25

def name
  @resource_name
end

#valid_cpan_package? ⇒ Boolean

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

Возвращает:

  • (Boolean)


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

Spec-Zone.ru

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