A source representing a single .gem file. This is used for installation of local gems.
Attributes
Read
The path to the gem for this specific file.
Read
The Gem::Specification
extracted from this .gem.
Class Methods
::
lib/rubygems/source/specific_file.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rubygems/source/specific_file.rb, line 16
def initialize(file)
@uri = nil
@path = ::File.expand_path(file)
@package = Gem::Package.new @path
@spec = @package.spec
@name = @spec.name_tuple
end
Creates a new SpecificFile
for the gem in file
Instance Methods
lib/rubygems/source/specific_file.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rubygems/source/specific_file.rb, line 62
def <=>(other)
case other
when Gem::Source::SpecificFile then
return nil if @spec.name != other.spec.name
@spec.version <=> other.spec.version
else
super
end
end
Orders this source against other
.
If other
is a SpecificFile
from a different gem name nil
is returned.
If other
is a SpecificFile
from the same gem name the versions are compared using Gem::Version#<=>
Otherwise Gem::Source#<=>
is used.