A source representing a single .gem file. This is used for installation of local gems.
Creates a new SpecificFile
for the gem in file
# File ruby-3.1.2/lib/rubygems/source/specific_file.rb, line 15 def initialize(file) @uri = nil @path = ::File.expand_path(file) @package = Gem::Package.new @path @spec = @package.spec @name = @spec.name_tuple 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.
# File ruby-3.1.2/lib/rubygems/source/specific_file.rb, line 61 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