class Geminabox::GemVersion

Attributes

name[RW]
number[RW]
platform[RW]

Public Class Methods

new(name, number, platform) click to toggle source
# File lib/geminabox/gem_version.rb, line 6
def initialize(name, number, platform)
  @name = name
  @number = number
  @platform = platform
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/geminabox/gem_version.rb, line 20
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
==(other) click to toggle source
# File lib/geminabox/gem_version.rb, line 29
def ==(other)
  return false unless other.class == self.class
  [name, number, platform] == [other.name, other.number, other.platform]
end
gemfile_name() click to toggle source
# File lib/geminabox/gem_version.rb, line 34
def gemfile_name
  included_platform = ruby? ? nil : platform
  [name, number, included_platform].compact.join('-')
end
ruby?() click to toggle source
# File lib/geminabox/gem_version.rb, line 12
def ruby?
  !!(platform =~ /ruby/i)
end
version() click to toggle source
# File lib/geminabox/gem_version.rb, line 16
def version
  Gem::Version.create(number)
end