aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVlad Shablinsky2016-07-04 12:39:08 +0300
committerXu Cheng2016-08-06 21:25:56 +0800
commit42bc623a277c4379255fc86ee59be77cf9c63392 (patch)
tree3bf6bfede428d1e744e35d2eb25f55916d501e6b
parent63c563f97074bdfb2ef8bf5388b216d137087c3c (diff)
downloadbrew-42bc623a277c4379255fc86ee59be77cf9c63392.tar.bz2
tab: allow to store versions
-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