Модуль: APIHashable Приватный
- Включен в:
- Cask::Cask, Formula
- Определен в:
- api_hashable.rb
Обзор
Этот модуль является частью приватного API. Этот модуль можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого модуля, поскольку он может быть удален или изменен без предупреждения.
Используется для замены распространенных путей универсальными заполнителями при генерации JSON для API.
Краткое описание методов экземпляра свернуть
- #deep_remove_placeholders(value) ⇒ T.type_parameter(:U) приватный
- #generated_hash! ⇒ void приватный
- #generating_hash! ⇒ void приватный
- #generating_hash? ⇒ Boolean приватный
Подробное описание методов экземпляра
#deep_remove_placeholders(value) ⇒ T.type_parameter(:U)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | # File 'api_hashable.rb', line 43 def deep_remove_placeholders(value) return value if value = case value when Hash value.transform_values { |v| deep_remove_placeholders(v) } when Array value.map { |v| deep_remove_placeholders(v) } when String value.gsub(HOMEBREW_PREFIX_PLACEHOLDER, HOMEBREW_PREFIX) .gsub(HOMEBREW_CELLAR_PLACEHOLDER, HOMEBREW_CELLAR) .gsub(HOMEBREW_HOME_PLACEHOLDER, Dir.home) else value end T.cast(value, T.type_parameter(:U)) end |
#generated_hash! ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.
Этот метод возвращает неопределенное значение.
24 25 26 27 28 29 30 31 32 33 34 | # File 'api_hashable.rb', line 24 def generated_hash! return unless # Revert monkeypatches for API generation Object.send(:remove_const, :HOMEBREW_PREFIX) Object.const_set(:HOMEBREW_PREFIX, @old_homebrew_prefix) ENV["HOME"] = @old_home ENV["GIT_CONFIG_GLOBAL"] = @old_git_config_global @generating_hash = false end |
#generating_hash! ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.
Этот метод возвращает неопределенное значение.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # File 'api_hashable.rb', line 7 def return if # Apply monkeypatches for API generation @old_homebrew_prefix = T.let(HOMEBREW_PREFIX, T.nilable(Pathname)) @old_homebrew_cellar = T.let(HOMEBREW_CELLAR, T.nilable(Pathname)) @old_home = T.let(Dir.home, T.nilable(String)) @old_git_config_global = T.let(ENV.fetch("GIT_CONFIG_GLOBAL", nil), T.nilable(String)) Object.send(:remove_const, :HOMEBREW_PREFIX) Object.const_set(:HOMEBREW_PREFIX, Pathname.new(HOMEBREW_PREFIX_PLACEHOLDER)) ENV["HOME"] = HOMEBREW_HOME_PLACEHOLDER ENV["GIT_CONFIG_GLOBAL"] = File.join(@old_home, ".gitconfig") @generating_hash = T.let(true, T.nilable(T::Boolean)) end |
#generating_hash? ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.
37 38 39 40 | # File 'api_hashable.rb', line 37 def @generating_hash ||= false @generating_hash == true end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/APIHashable.html