aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/tab.rb38
1 files changed, 36 insertions, 2 deletions
diff --git a/Library/Homebrew/tab.rb b/Library/Homebrew/tab.rb
index 22489c4e5..276fcfa05 100644
--- a/Library/Homebrew/tab.rb
+++ b/Library/Homebrew/tab.rb
@@ -32,7 +32,12 @@ class Tab < OpenStruct
"source" => {
"path" => formula.path.to_s,
"tap" => formula.tap ? formula.tap.name : nil,
- "spec" => formula.active_spec_sym.to_s
+ "spec" => formula.active_spec_sym.to_s,
+ "versions" => {
+ "stable" => formula.stable ? formula.stable.version.to_s : nil,
+ "devel" => formula.devel ? formula.devel.version.to_s : nil,
+ "head" => formula.head ? formula.head.version.to_s : nil,
+ }
}
}
@@ -68,6 +73,14 @@ class Tab < OpenStruct
end
end
+ if attributes["source"]["versions"].nil?
+ attributes["source"]["versions"] = {
+ "stable" => nil,
+ "devel" => nil,
+ "head" => nil,
+ }
+ end
+
new(attributes)
end
@@ -145,7 +158,12 @@ class Tab < OpenStruct
"source" => {
"path" => nil,
"tap" => nil,
- "spec" => "stable"
+ "spec" => "stable",
+ "versions" => {
+ "stable" => nil,
+ "devel" => nil,
+ "head" => nil,
+ }
}
}
@@ -232,6 +250,22 @@ class Tab < OpenStruct
source["spec"].to_sym
end
+ def versions
+ source["versions"]
+ end
+
+ def stable_version
+ Version.create(versions["stable"]) if versions["stable"]
+ end
+
+ def devel_version
+ Version.create(versions["devel"]) if versions["devel"]
+ end
+
+ def head_version
+ Version.create(versions["head"]) if versions["head"]
+ end
+
def source_modified_time
Time.at(super)
end