aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/formula.rb17
1 files changed, 16 insertions, 1 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 029aef77c..93a31481d 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -38,10 +38,25 @@ class Formulary
# Returns all formula names as strings, with or without aliases
def self.names with_aliases=false
everything = (HOMEBREW_REPOSITORY+'Library/Formula').children.map{|f| f.basename('.rb').to_s }
- everything.push *Formulary.get_aliases.keys if with_aliases
+ if with_aliases
+ everything.push *Formulary.get_aliases.keys
+ end
everything.sort
end
+ def self.read name
+ Formulary.names.each do |f|
+ next if f != name
+
+ require Formula.path(name)
+ klass_name = Formula.class_s(name)
+ klass = eval(klass_name)
+ return klass
+ end
+
+ return nil
+ end
+
# Loads all formula classes.
def self.read_all
Formulary.names.each do |name|