class Gemirro::GemVersion

The Gem class contains data about a Gem such as the name, requirement as well as providing some methods to more easily extract the specific version number.

@!attribute [r] name

@return [String]

@!attribute [r] number

@return [Integer]

@!attribute [r] platform

@return [String]

@!attribute [r] version

@return [Gem::Version]

Attributes

name[R]
number[R]
platform[R]

Public Class Methods

new(name, number, platform) click to toggle source

@param [String] name @param [String] number @param [String] platform

# File lib/gemirro/gem_version.rb, line 27
def initialize(name, number, platform)
  @name     = name
  @number   = number
  @platform = platform
end

Public Instance Methods

<=>(other) click to toggle source

Compare gem to another

@return [Integer]

# File lib/gemirro/gem_version.rb, line 56
def <=>(other)
  sort = other.name <=> @name
  sort = version <=> other.version if sort.zero?
  sort = other.ruby? && !ruby? ? 1 : -1 if sort.zero? &&
                                           ruby? != other.ruby?
  sort = other.platform <=> @platform if sort.zero?

  sort
end
gemfile_name() click to toggle source

Gemfile name

@return [String]

# File lib/gemirro/gem_version.rb, line 71
def gemfile_name
  platform = ruby? ? nil : @platform
  [@name, @number, platform].compact.join('-')
end
ruby?() click to toggle source

Is for ruby

@return [Boolean]

# File lib/gemirro/gem_version.rb, line 38
def ruby?
  !(@platform =~ /^ruby$/i).nil?
end
version() click to toggle source

Retrieve gem version

@return [Gem::Version]

# File lib/gemirro/gem_version.rb, line 47
def version
  @version ||= ::Gem::Version.create(number)
end