Sha256: 3e6c685822d55f8d3a97776ad9150488762eae24f873252aaff928362a3c0dd9

Contents?: true

Size: 830 Bytes

Versions: 1

Compression:

Stored size: 830 Bytes

Contents

module Adhearsion #:nodoc:
  module VERSION #:nodoc:
    MAJOR = 1 unless defined? MAJOR
    MINOR = 0 unless defined? MINOR
    TINY  = 3 unless defined? TINY

    STRING = [MAJOR, MINOR, TINY].join('.') unless defined? STRING
  end

  class PkgVersion
    include Comparable

    attr_reader :major, :minor, :revision

    def initialize(version="")
      @major, @minor, @revision = version.split(".").map(&:to_i)
    end

    def <=>(other)
      return @major <=> other.major if ((@major <=> other.major) != 0)
      return @minor <=> other.minor if ((@minor <=> other.minor) != 0)
      return @revision <=> other.revision if ((@revision <=> other.revision) != 0)
    end

    def self.sort
      self.sort!{|a,b| a <=> b}
    end

    def to_s
      @major.to_s + "." + @minor.to_s + "." + @revision.to_s
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
adhearsion-1.0.3 lib/adhearsion/version.rb