class GemMirror::Gem
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] requirement
@return [Gem::Requirement]
Attributes
name[R]
requirement[R]
Public Class Methods
new(name, requirement = nil)
click to toggle source
@param [String] name @param [Gem::Requirement] requirement
# File lib/gem_mirror/gem.rb 31 def initialize(name, requirement = nil) 32 requirement ||= ::Gem::Requirement.default 33 34 requirement = ::Gem::Requirement.new(requirement) if requirement.is_a?(String) 35 36 @name = name 37 @requirement = requirement 38 end
version_for(requirement)
click to toggle source
Returns a `Gem::Version` instance based on the specified requirement.
@param [Gem::Requirement] requirement @return [Gem::Version]
# File lib/gem_mirror/gem.rb 23 def self.version_for(requirement) 24 ::Gem::Version.new(requirement.requirements.max.last.version) 25 end
Public Instance Methods
filename(gem_version = nil)
click to toggle source
Returns the filename of the Gemfile.
@param [String] gem_version @return [String]
# File lib/gem_mirror/gem.rb 60 def filename(gem_version = nil) 61 gem_version ||= version.to_s 62 63 "#{name}-#{gem_version}.gem" 64 end
version()
click to toggle source
@return [Gem::Version]
# File lib/gem_mirror/gem.rb 43 def version 44 @version ||= self.class.version_for(requirement) 45 end
version?()
click to toggle source
@return [TrueClass|FalseClass]
# File lib/gem_mirror/gem.rb 50 def version? 51 version && !version.segments.reject(&:zero?).empty? 52 end