class Uber::Version

Public Class Methods

new(version) click to toggle source
# File lib/garcon/utility/uber/version.rb, line 3
def initialize(version)
  @version = Gem::Version.new(version)
  major, minor, patch = @version.segments

  self[:major] = major || 0
  self[:minor] = minor || 0
  self[:patch] = patch || 0
end

Public Instance Methods

>=(version) click to toggle source
# File lib/garcon/utility/uber/version.rb, line 12
def >=(version)
  major, minor, patch = parse(version)

  self[:major] > major or
    (self[:major] == major and self[:minor] >= minor and self[:patch] >= patch)
end
~(*versions) click to toggle source
# File lib/garcon/utility/uber/version.rb, line 19
def ~(*versions)
  !! versions.find do |v|
    major, minor, patch = parse(v)

    self[:major] == major and self[:minor] == minor
  end
end

Private Instance Methods

parse(version) click to toggle source
# File lib/garcon/utility/uber/version.rb, line 28
def parse(version)
  major, minor, patch = Gem::Version.new(version).segments
  [major||0, minor||0, patch||0]
end