diff options
| author | Jack Nagel | 2012-07-09 22:51:10 -0500 |
|---|---|---|
| committer | Jack Nagel | 2012-08-18 11:12:07 -0500 |
| commit | 35b064769705b9f9b3ed0b3d6bdd8d6722a2c25e (patch) | |
| tree | 2b140c46119d2c161ef9ff6dbf83ea232b2aeaa2 /Library | |
| parent | bfc71f788b4ed23394cd5fb05968c645a75fda11 (diff) | |
| download | homebrew-35b064769705b9f9b3ed0b3d6bdd8d6722a2c25e.tar.bz2 | |
Add Version class
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/version.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb new file mode 100644 index 000000000..f03510a68 --- /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 |
