Spec-Zone.ru › Homebrew

Класс: Formulary::FromPathLoader Приватный

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

Обзор

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

Загружает формулы с диска по указанному пути.

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

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

#alias_path, #name, #path, #tap

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

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

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

  • #initialize(path, alias_path: nil, tap: nil) ⇒ void конструктор приватный

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

#get_formula, #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(path, alias_path: nil, tap: nil) ⇒ void

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

Параметры:

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


627
628
629
630
631
632
633
634
635
636
# File 'formulary.rb', line 627

def initialize(path, alias_path: nil, tap: nil)
  path = Pathname(path).expand_path
  name = path.basename(".rb").to_s
  alias_path = alias_path&.expand_path
  alias_dir = alias_path&.dirname

  alias_path = nil if alias_dir != tap&.alias_dir

  super(name, path, alias_path:, tap:)
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)


597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
# File 'formulary.rb', line 597

def self.try_new(ref, from: nil, warn: false)
  path = case ref
  when String
    Pathname(ref)
  when Pathname
    ref
  else
    return
  end

  return unless path.expand_path.exist?
  return unless ::Utils::Path.loadable_package_path?(path, :formula)

  if (tap = Tap.from_path(path))
    # Only treat symlinks in taps as aliases.
    if path.symlink?
      alias_path = path
      path = alias_path.resolved_path
    end
  else
    # Don't treat cache symlinks as aliases.
    tap = Homebrew::API.tap_from_source_download(path)
  end

  return if path.extname != ".rb"

  new(path, alias_path:, tap:)
end

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

Spec-Zone.ru

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