class Gemirro::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]
@!attribute [r] version
@return [Gem::Version]
Constants
- ONLY_LATEST
Attributes
Public Class Methods
Source
# File lib/gemirro/gem.rb, line 36 def initialize(name, requirement = nil, platform = 'ruby') requirement ||= ::Gem::Requirement.default requirement = ::Gem::Requirement.new(requirement) if requirement.is_a?(String) @name = name @requirement = requirement @platform = platform end
@param [String] name @param [Gem::Requirement|String] requirement
Source
# File lib/gemirro/gem.rb, line 28 def self.version_for(requirement) ::Gem::Version.new(requirement.requirements.max.last.version) end
Returns a ‘Gem::Version` instance based on the specified requirement.
@param [Gem::Requirement] requirement @return [Gem::Version]
Public Instance Methods
Source
# File lib/gemirro/gem.rb, line 88 def filename(gem_version = nil) gem_version ||= version.to_s n = [name, gem_version] n.push(@platform) if @platform != 'ruby' "#{n.join('-')}.gem" end
Returns the filename of the gem file.
@param [String] gem_version @return [String]
Source
# File lib/gemirro/gem.rb, line 78 def gemspec? @gemspec == true end
Is gemspec
@return [TrueClass|FalseClass]
Source
# File lib/gemirro/gem.rb, line 101 def gemspec_filename(gem_version = nil) gem_version ||= version.to_s n = [name, gem_version] n.push(@platform) if @platform != 'ruby' "#{n.join('-')}.gemspec.rz" end
Returns the filename of the gemspec file.
@param [String] gem_version @return [String]
Source
# File lib/gemirro/gem.rb, line 69 def only_latest? @requirement.is_a?(Symbol) && ONLY_LATEST.include?(@requirement) end
Define if version exists
@return [TrueClass|FalseClass]
Source
# File lib/gemirro/gem.rb, line 51 def version @version ||= self.class.version_for(requirement) end
Returns the version
@return [Gem::Version]
Source
# File lib/gemirro/gem.rb, line 60 def version? version && !version.segments.reject(&:zero?).empty? end
Define if version exists
@return [TrueClass|FalseClass]