Method: Gemirro::GemVersion#name

Defined in:
lib/gemirro/gem_version.rb,
lib/gemirro/gem_version.rb

#nameString (readonly)

Returns:

  • (String)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/gemirro/gem_version.rb', line 16

class GemVersion
  include Comparable
  attr_reader :name, :number, :platform

  ##
  # @param [String] name
  # @param [String] number
  # @param [String] platform
  #
  def initialize(name, number, platform)
    @name     = name
    @number   = number
    @platform = platform
  end

  ##
  # Is for ruby
  #
  # @return [Boolean]
  #
  def ruby?
    !(@platform =~ /^ruby$/i).nil?
  end

  ##
  # Retrieve gem version
  #
  # @return [Gem::Version]
  #
  def version
    @version ||= ::Gem::Version.create(number)
  end

  ##
  # Compare gem to another
  #
  # @return [Integer]
  #
  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
  #
  # @return [String]
  #
  def gemfile_name
    platform = ruby? ? nil : @platform
    [@name, @number, platform].compact.join('-')
  end
end