Class: Formulary::FromKegLoader Private
- Inherits:
-
FormulaLoader
- Object
- FormulaLoader
- Formulary::FromKegLoader
- Defined in:
- formulary.rb
Overview
This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.
Loads a formula from a formula file in a keg.
Instance Attribute Summary
Attributes inherited from FormulaLoader
#alias_path, #name, #path, #tap
Class Method Summary collapse
Methods inherited from FormulaLoader
#get_formula, #initialize, #klass
Methods included from Utils::Output::Mixin
#odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #pretty_duration, #pretty_installed, #pretty_outdated, #pretty_uninstalled
Methods included from Context
current, current=, #debug?, #quiet?, #verbose?, #with_context
Constructor Details
This class inherits a constructor from Formulary::FormulaLoader
Class Method Details
.try_new(ref, from: nil, warn: false) ⇒ T.attached_class?
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
824 825 826 827 828 829 830 831 832 833 834 835 836 |
# File 'formulary.rb', line 824 def self.try_new(ref, from: nil, warn: false) ref = ref.to_s keg_directory = HOMEBREW_PREFIX/"opt/#{ref}" return unless keg_directory.directory? # The formula file in `.brew` will use the canonical name, whereas `ref` can be an alias. # Use `Keg#name` to get the canonical name. keg = Keg.new(keg_directory) return unless (keg_formula = keg_directory/".brew/#{keg.name}.rb").file? new(keg.name, keg_formula, tap: keg.tab.tap) end |