Spec-Zone.ru › Homebrew

Класс: Cask::CaskLoader::FromContentLoader Приватный

Наследует:
AbstractContentLoader
  • Object
  • AbstractContentLoader
  • Cask::CaskLoader::FromContentLoader
показать все
Определён в:
cask/cask_loader.rb

Обзор

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

Загружает cask из строки.

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

Атрибуты, унаследованные от AbstractContentLoader

#content, #tap

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

  • .try_new(ref, warn: false) ⇒ T.attached_class? приватный

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

  • #initialize(content, tap: T.unsafe(nil)) ⇒ void конструктор приватный
  • #load(config:) ⇒ Cask приватный

Методы, включённые из 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

Подробное описание конструкторов

#initialize(content, tap: T.unsafe(nil)) ⇒ void

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

Параметры:

  • content (String)
  • tap (Tap) (по умолчанию: T.unsafe(nil))


96
97
98
99
100
101
# File 'cask/cask_loader.rb', line 96

def initialize(content, tap: T.unsafe(nil))
  super()

  @content = T.let(content.dup.force_encoding("UTF-8"), String)
  @tap = T.let(tap, T.nilable(Tap))
end

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

.try_new(ref, warn: false) ⇒ T.attached_class?

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

Параметры:

  • ref (Pathname, String, Cask, URI::Generic)
  • warn (Boolean) (по умолчанию: false)

Возвращает:

  • (T.attached_class, nil)


74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'cask/cask_loader.rb', line 74

def self.try_new(ref, warn: false)
  return if ref.is_a?(Cask)

  content = ref.to_str

  # Cache compiled regex
  @regex ||= T.let(
    begin
      token  = /(?:"[^"]*"|'[^']*')/
      curly  = /\(\s*#{token.source}\s*\)\s*\{.*\}/
      do_end = /\s+#{token.source}\s+do(?:\s*;\s*|\s+).*end/
      /\A\s*cask(?:#{curly.source}|#{do_end.source})\s*\Z/m
    end,
    T.nilable(Regexp),
  )

  return unless content.match?(@regex)

  new(content)
end

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

#load(config:) ⇒ Cask

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

Параметры:

  • config (Config, nil)

Возвращает:

  • (Cask)


104
105
106
107
108
109
110
# File 'cask/cask_loader.rb', line 104

def load(config:)
  @config = config

  ENV.clear_sensitive_environment_for_eval! do
    instance_eval(content, __FILE__, __LINE__)
  end
end

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

Spec-Zone.ru

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