Класс: Formulary::FromNameLoader Закрытый
- Наследует:
- FromTapLoader
- Object
- FormulaLoader
- FromTapLoader
- Formulary::FromNameLoader
- Расширен модулем:
- Utils::Output::Mixin
- Определён в:
- formulary.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого класса, так как он может быть удалён или изменён без предупреждения.
Загружает формулу по имени, если она существует только в одном tap.
Краткое описание атрибутов экземпляра
Атрибуты, унаследованные от FromTapLoader
Атрибуты, унаследованные от FormulaLoader
#alias_path, #name, #path, #tap
Краткое описание методов класса свернуть
Методы, включённые из 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
Методы, унаследованные от FromTapLoader
#get_formula, #initialize, #load_file, loader_from_name_tap_type
Методы, унаследованные от FormulaLoader
#get_formula, #initialize, #klass
Методы, включённые из Context
current, current=, #debug?, #quiet?, #verbose?, #with_context
Подробное описание конструкторов
Этот класс наследует конструктор от Formulary::FromTapLoader
Подробное описание методов класса
.try_new(ref, from: nil, warn: false) ⇒ T.attached_class?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 | # File 'formulary.rb', line 782 def self.try_new(ref, from: nil, warn: false) return unless ref.is_a?(String) return unless ref.match?(/\A#{HOMEBREW_TAP_FORMULA_NAME_REGEX}\Z/o) name = ref.downcase # If it exists in the default tap, never treat it as ambiguous with another tap. if (core_tap = CoreTap.instance).installed? && (name_tap_type = Formulary.tap_formula_name_type( "#{core_tap}/#{name}", warn: false )) migrated_name, migrated_tap, type = name_tap_type if warn && [:rename, :migration].include?(type) && !(type == :migration && migrated_tap.core_cask_tap?) opoo "Formula #{name} was renamed to " \ "#{migrated_tap.core_tap? ? migrated_name : "#{migrated_tap}/#{migrated_name}"}." end if (core_loader = loader_from_name_tap_type("#{core_tap}/#{name}", name_tap_type))&.path&.exist? return core_loader end end loaders = Tap.select { |tap| tap.installed? && !tap.core_tap? } .filter_map { |tap| super("#{tap}/#{name}", warn:) } .uniq(&:path) .select { |loader| loader.is_a?(FromAPILoader) || loader.path.exist? } case loaders.count when 1 loaders.first when 2..Float::INFINITY raise TapFormulaAmbiguityError.new(name, loaders) end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Formulary/FromNameLoader.html