From 104fc0e09b8bfe825a0fecd71a971677cb11c271 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Mon, 9 Jul 2012 22:51:10 -0500 Subject: [PATCH] Add Version class --- Library/Homebrew/version.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Library/Homebrew/version.rb diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb new file mode 100644 index 0000000000..f03510a688 --- /dev/null +++ b/Library/Homebrew/version.rb @@ -0,0 +1,25 @@ +class Version + include Comparable + + def initialize val + return val if val.is_a? Version or val.nil? + @version = val.to_s.strip + end + + def nums + @version.scan(/\d+/).map { |d| d.to_i } + end + + def <=>(other) + @version <=> other.version + end + + def to_s + @version + end + alias_method :to_str, :to_s + + def self.parse spec + Pathname.new(spec.to_s).version + end +end