Spec-Zone.ru › Homebrew

Модуль: Cask::Metadata Закрытый

Расширен модулем:
T::Helpers
Включает:
Utils::Output::Mixin
Включён в:
Cask
Определён в:
cask/metadata.rb

Обзор

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

Вспомогательный модуль для чтения и записи метаданных cask.

Краткое описание констант свернуть

METADATA_SUBDIR =

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

".metadata"
TIMESTAMP_FORMAT =

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

"%Y%m%d%H%M%S.%L"

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

  • #metadata_main_container_path(caskroom_path: self.caskroom_path) ⇒ Pathname закрытый
  • #metadata_subdir(leaf, version: self.version, timestamp: :latest, create: false, caskroom_path: self.caskroom_path) ⇒ Pathname? закрытый
  • #metadata_timestamped_path(version: self.version, timestamp: :latest, create: false, caskroom_path: self.caskroom_path) ⇒ Pathname? закрытый
  • #metadata_versioned_path(version: self.version, caskroom_path: self.caskroom_path) ⇒ Pathname закрытый

Методы, включённые из Utils::Output::Mixin

#issue_reporting_message, #odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #opoo_without_github_actions_annotation, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_install_status, #pretty_installed, #pretty_uninstalled, #pretty_upgradable, #pretty_warning

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

#metadata_main_container_path(caskroom_path: self.caskroom_path) ⇒ Pathname

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

Параметры:

  • caskroom_path (Pathname) (по умолчанию: self.caskroom_path)

Возвращает:

  • (Pathname)


18
19
20
# File 'cask/metadata.rb', line 18

def metadata_main_container_path(caskroom_path: self.caskroom_path)
  caskroom_path.join(METADATA_SUBDIR)
end

#metadata_subdir(leaf, version: self.version, timestamp: :latest, create: false, caskroom_path: self.caskroom_path) ⇒ Pathname?

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

Параметры:

  • leaf (String)
  • version (DSL::Version, String, nil) (по умолчанию: self.version)
  • timestamp (Symbol, String) (по умолчанию: :latest)
  • create (Boolean) (по умолчанию: false)
  • caskroom_path (Pathname) (по умолчанию: self.caskroom_path)

Возвращает:

  • (Pathname, nil)

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

  • (CaskError)


71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'cask/metadata.rb', line 71

def metadata_subdir(leaf, version: self.version, timestamp: :latest, create: false,
                    caskroom_path: self.caskroom_path)
  raise CaskError, "Cannot create metadata subdir when timestamp is :latest." if create && timestamp == :latest
  raise CaskError, "Cannot create metadata subdir for empty leaf." if !leaf.respond_to?(:empty?) || leaf.empty?

  parent = metadata_timestamped_path(version:, timestamp:, create:,
                                     caskroom_path:)

  return if parent.nil?

  subdir = parent.join(leaf)

  if create && !subdir.directory?
    odebug "Creating metadata subdirectory: #{subdir}"
    subdir.mkpath
  end

  subdir
end

#metadata_timestamped_path(version: self.version, timestamp: :latest, create: false, caskroom_path: self.caskroom_path) ⇒ Pathname?

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

Параметры:

  • version (DSL::Version, String, nil) (по умолчанию: self.version)
  • timestamp (Symbol, String) (по умолчанию: :latest)
  • create (Boolean) (по умолчанию: false)
  • caskroom_path (Pathname) (по умолчанию: self.caskroom_path)

Возвращает:

  • (Pathname, nil)


39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'cask/metadata.rb', line 39

def metadata_timestamped_path(version: self.version, timestamp: :latest, create: false,
                              caskroom_path: self.caskroom_path)
  case timestamp
  when :latest
    raise CaskError, "Cannot create metadata path when timestamp is :latest." if create

    return Pathname.glob(metadata_versioned_path(version:, caskroom_path:).join("*")).max
  when :now
    timestamp = new_timestamp
  when Symbol
    raise CaskError, "Invalid timestamp symbol :#{timestamp}. Valid symbols are :latest and :now."
  end

  path = metadata_versioned_path(version:, caskroom_path:).join(timestamp)

  if create && !path.directory?
    odebug "Creating metadata directory: #{path}"
    path.mkpath
  end

  path
end

#metadata_versioned_path(version: self.version, caskroom_path: self.caskroom_path) ⇒ Pathname

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

Параметры:

  • version (DSL::Version, String, nil) (по умолчанию: self.version)
  • caskroom_path (Pathname) (по умолчанию: self.caskroom_path)

Возвращает:

  • (Pathname)

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

  • (CaskError)


23
24
25
26
27
28
29
# File 'cask/metadata.rb', line 23

def metadata_versioned_path(version: self.version, caskroom_path: self.caskroom_path)
  cask_version = (version || :unknown).to_s

  raise CaskError, "Cannot create metadata path with empty version." if cask_version.empty?

  metadata_main_container_path(caskroom_path:).join(cask_version)
end

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

Spec-Zone.ru

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