Spec-Zone.ru › Homebrew

Класс: Formulary::FromTapLoader Закрытый

Наследует:
FormulaLoader
  • Object
  • FormulaLoader
  • Formulary::FromTapLoader
показать все
Определён в:
formulary.rb

Обзор

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

Загружает формулы из tap.

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

FromNameLoader

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

  • #path ⇒ Pathname только для чтения закрытый
  • #tap ⇒ Tap только для чтения закрытый

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

#alias_path, #name

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

  • .loader_from_name_tap_type(ref, name_tap_type) ⇒ T.attached_class? закрытый
  • .try_new(ref, from: nil, warn: false) ⇒ T.attached_class? закрытый

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

  • #get_formula(spec, alias_path: nil, force_bottle: false, flags: [], ignore_errors: false) ⇒ Formula закрытый
  • #initialize(name, path, tap:, alias_name: nil) ⇒ void конструктор закрытый
  • #load_file(flags:, ignore_errors:) ⇒ void закрытый

Методы, унаследованные от FormulaLoader

#klass

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

Методы, включённые из Context

current, current=, #debug?, #quiet?, #verbose?, #with_context

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

#initialize(name, path, tap:, alias_name: nil) ⇒ void

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

Параметры:

  • name (String)
  • path (Pathname)
  • tap (Tap)
  • alias_name (String, nil) (по умолчанию: nil)


739
740
741
742
743
744
# File 'formulary.rb', line 739

def initialize(name, path, tap:, alias_name: nil)
  alias_path = tap.alias_dir/alias_name if alias_name

  super(name, path, alias_path:, tap:)
  @tap = tap
end

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

#path ⇒ Pathname (только для чтения)

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

Возвращает:

  • (Pathname)


705
706
707
# File 'formulary.rb', line 705

def path
  @path
end

#tap ⇒ Tap (только для чтения)

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

Возвращает:

  • (Tap)


702
703
704
# File 'formulary.rb', line 702

def tap
  @tap
end

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

.loader_from_name_tap_type(ref, name_tap_type) ⇒ T.attached_class?

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

Параметры:

  • ref (String)
  • name_tap_type (Array<(String, Tap, [Symbol, nil])>)

Возвращает:

  • (T.attached_class, nil)


722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
# File 'formulary.rb', line 722

def self.loader_from_name_tap_type(ref, name_tap_type)
  name, tap, type = name_tap_type
  path = Formulary.find_formula_in_tap(name, tap)

  if type == :alias
    # TODO: Simplify this by making `tap_formula_name_type` return the alias name.
    alias_name = T.must(ref[HOMEBREW_TAP_FORMULA_REGEX, :name]).downcase
  end

  if type == :migration && tap.core_tap? && (loader = FromAPILoader.try_new(name))
    T.cast(loader, T.attached_class)
  else
    new(name, path, tap:, alias_name:)
  end
end

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

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

Параметры:

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

Возвращает:

  • (T.attached_class, nil)


711
712
713
714
715
716
717
# File 'formulary.rb', line 711

def self.try_new(ref, from: nil, warn: false)
  ref = ref.to_s

  return unless (name_tap_type = Formulary.tap_formula_name_type(ref, warn:))

  loader_from_name_tap_type(ref, name_tap_type)
end

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

#get_formula(spec, alias_path: nil, force_bottle: false, flags: [], ignore_errors: false) ⇒ Formula

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

Параметры:

  • spec (Symbol)
  • alias_path (Pathname, String, nil) (по умолчанию: nil)
  • force_bottle (Boolean) (по умолчанию: false)
  • flags (Array<String>) (по умолчанию: [])
  • ignore_errors (Boolean) (по умолчанию: false)

Возвращает:

  • (Formula)


755
756
757
758
759
760
761
762
763
# File 'formulary.rb', line 755

def get_formula(spec, alias_path: nil, force_bottle: false, flags: [], ignore_errors: false)
  super
rescue FormulaUnreadableError => e
  raise TapFormulaUnreadableError.new(tap, name, e.formula_error), "", e.backtrace
rescue FormulaClassUnavailableError => e
  raise TapFormulaClassUnavailableError.new(tap, name, e.path, e.class_name, e.class_list), "", e.backtrace
rescue FormulaUnavailableError => e
  raise TapFormulaUnavailableError.new(tap, name), "", e.backtrace
end

#load_file(flags:, ignore_errors:) ⇒ void

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

Этот метод не возвращает значения.

Параметры:

  • flags (Array<String>)
  • ignore_errors (Boolean)


766
767
768
769
770
771
# File 'formulary.rb', line 766

def load_file(flags:, ignore_errors:)
  super
rescue MethodDeprecatedError => e
  e.issues_url = tap.issues_url || tap.to_s
  raise
end

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

Spec-Zone.ru

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