From 42bc623a277c4379255fc86ee59be77cf9c63392 Mon Sep 17 00:00:00 2001 From: Vlad Shablinsky Date: Mon, 4 Jul 2016 12:39:08 +0300 Subject: tab: allow to store versions --- Library/Homebrew/tab.rb | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'Library') 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 -- cgit v1.2.3