Sha256: 5494890fd326894dc43d4c07a922b69de4f7e0700c0f470279c4cfeb02c51ac7

Contents?: true

Size: 612 Bytes

Versions: 3

Compression:

Stored size: 612 Bytes

Contents

require 'rubygems'

module Xezat
  # package の version を管理するクラス
  class Cygversion
    def initialize(str)
      matched = str.match(/(.+)-(.+)/)
      version = matched[1]
      @release = matched[2]
      splitted = version.split('+')
      @version = splitted[0]
      @revision = splitted.length >= 2 ? splitted[1].match(/(\d+)/)[0].to_i : Time::at(0).strftime('%Y%m%d').to_i
    end

    def to_v
      [Gem::Version.new(@version), @revision, @release]
    end

    def to_a
      [@version, @revision, @release]
    end

    def <=>(operand)
      to_v <=> operand.to_v
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
xezat-0.0.4 lib/xezat/cygversion.rb
xezat-0.0.3 lib/xezat/cygversion.rb
xezat-0.0.2 lib/xezat/cygversion.rb