diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/tab.rb | 38 |
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 |
