aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula_versions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/formula_versions.rb')
-rw-r--r--Library/Homebrew/formula_versions.rb18
1 files changed, 13 insertions, 5 deletions
diff --git a/Library/Homebrew/formula_versions.rb b/Library/Homebrew/formula_versions.rb
index 13cb8ac8c..2c5aae8f5 100644
--- a/Library/Homebrew/formula_versions.rb
+++ b/Library/Homebrew/formula_versions.rb
@@ -60,14 +60,22 @@ class FormulaVersions
map
end
- def revision_map(branch)
- map = Hash.new { |h, k| h[k] = [] }
+ def version_attributes_map(attributes, branch)
+ attributes_map = {}
+ return attributes_map if attributes.empty?
+ attributes.each do |attribute|
+ attributes_map[attribute] = Hash.new { |h, k| h[k] = [] }
+ end
+
rev_list(branch) do |rev|
formula_at_revision(rev) do |f|
- map[f.stable.version] << f.revision if f.stable
- map[f.devel.version] << f.revision if f.devel
+ attributes.each do |attribute|
+ map = attributes_map[attribute]
+ map[f.stable.version] << f.send(attribute) if f.stable
+ map[f.devel.version] << f.send(attribute) if f.devel
+ end
end
end
- map
+ attributes_map
end
end